/*
 * TODO:
 *  Make multithreaded
 *  Port to distributed machines
 *  Use Cython to make prime_pi accessible to Sage
 *  Test results
 *  Write paper about project
 *  Convert tabs to spaces
 *  Possibly implement the modular prime counting function and nth prime function
 *
 * prime_pi.c Counting Primes (In Progress)
 *
 * The prime_pi function counts the number of primes less than or equal to a given magnitude.
 * This code was written by Kevin Stueve as an undergraduate research project at
 * the University of Washington under the supervision of William Stein for incorporation into Sage.
 * This project is funded by the VIGRE grant from the National Science Foundation (NSF).
 *
 * REFERENCES:
 *
 *  TODO: reformat reference list
 *
 *  [LMO1985] Computing pi(x): The Meissel-Lehmer Method
 *  Lagarias, Miller, Odlyzko 1985
 *  http://www.dtc.umn.edu/~odlyzko/doc/arch/meissel.lehmer.pdf
 *
 *  [DR1996] Computing pi(x): The Meissel, Lehmer, Lagarias, Miller, Odlyzko Method
 *  Deleglise, Rivat 1996
 *  http://cr.yp.to/bib/1996/deleglise.pdf
 *
 *  [G2001] Computation of pi(x) : Improvements to the Meissel, Lehmer, Lagarias, Miller, Odlyzko, Deleglise and Rivat method
 *  Xavier Gourdon, 2001
 *  http://numbers.computation.free.fr/Constants/Primes/Pix/piNalgorithm.ps
 *
 *  [S2006] Computing pi(x): The combinatorial method
 *  Tomas Oliveira e Silva 2006
 *  http://www.ieeta.pt/~tos/bib/5.4.pdf

 *  [AB2003] Prime Sieves Using Binary Quadratic Forms
 *  A. O. L. Atkin and D. J. Bernstein 2003-12-19
 *  http://cr.yp.to/papers/primesieves.ps
 *
 *  [G2000] Dissecting a Sieve to Cut its Need for Space
 *  William F. Galway
 *  http://www.springerlink.com/content/jug31w3p60443l57/
 *
 * AUTHORS:
 *
 * - Kevin Stueve (2009-08-16): initial version
 *
 * TODO: Add lots and lots of examples.
 *
 *****************************************************************************
 *      Copyright (C) 2009 Kevin Stueve <kstueve@uw.edu>
 *
 *  Distributed under the terms of the GNU General Public License (GPL)
 *                 http://www.gnu.org/licenses/
 *****************************************************************************/

/*
 * NOTES:
 *
 *  a = prime_pi(alpha * cuberoot(x)), 1 <= alpha <= sixthroot(x)
 *  a = prime_pi(y), cuberoot(x) <= y <= squareroot(x)
 *  y = alpha * cuberoot(x)
 *  z = x ^ (2 / 3) / alpha = x / y
 *  TODO: convert formulas to LaTeX
 *  a is set by phi2
 *  prime_pi(cuberoot(x)) <= a <= prime_pi(sqrt(x))
 *  prime_pi(x, k, l) is the modular prime counting function which counts primes p <= x such that p = k * r + l for some integer r
 *  if delta is a unit modulo k, then delta is relatively prime to k
 *
 * REFERENCES:
 *
 *  [LMO1985] Section 2 Algorithms of Meissel-Lehmer Type, page 7, line 2 (a is defined (modified value used in later publications))
 *  [DR1996] page 236 Section 3 The Meissel-Lehmer Method, line 14  (y and a are defined)
 *  [G2001] page 2 Section 2 Recall of the Method, line 11 (a and y are defined)
 *  [S2006] page 760 Section A Computation of phi2(x,a), line 1 (a and alpha are defined)
 *  [S2006] eq 4, page 760, Section A Computation of phi2(x,a) (z is defined)
 */
unsigned int a;

/*
 * prime_pi_square_root_x = prime_pi(sqrt(x))
 * prime_pi_square_root_x is set by phi2
 */
unsigned int prime_pi_square_root_x = 0;

//see note in prime_pi function
double alpha, beta;

//TODO add explanation
#define c 7

#include <math.h>

unsigned long int prime_pi(unsigned long int x);
unsigned long int phi2(unsigned long int x);
unsigned long int phi(unsigned long int x);

//smallpi holds prime_pi(x) for small x and is used by prime_pi to calculate prime_pi(x) for x <= 7
unsigned char smallpi[8] = { 0, 0, 1, 2, 2, 3, 3, 4 };

//table1[i] holds the number of units modulo 210 <= 2 * i and is used by prime_pi to calculate prime_pi(x) for 7 < x <= 2657
unsigned char table1[106] = { 0, 1, 1, 1, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 6, 7,
		8, 8, 8, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 15, 15, 15, 16,
		16, 17, 18, 18, 18, 19, 19, 20, 20, 20, 21, 21, 21, 21, 22, 22, 23, 24,
		24, 25, 26, 26, 27, 27, 27, 27, 28, 28, 28, 29, 29, 30, 30, 30, 31, 32,
		32, 33, 33, 33, 34, 35, 35, 35, 36, 36, 36, 37, 37, 38, 39, 39, 40, 40,
		40, 41, 42, 42, 42, 43, 43, 44, 45, 45, 46, 47, 47, 47, 47, 47, 48 };

//Note: table2 could be compressed using the fact that for most indices table2[i] == table2[i - 1] which would decrease code size at the cost of small time requirements
//table2[(x / 210) * 48 + table1[(x % 210 +1) / 2] - 1] holds prime_pi(x) for 7 < x <= 2657
unsigned short int table2[607] = { 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
		16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 30, 31, 32,
		33, 34, 34, 35, 36, 37, 38, 39, 39, 40, 41, 42, 42, 43, 44, 45, 46, 46,
		47, 47, 48, 49, 50, 51, 52, 53, 53, 54, 54, 55, 56, 57, 58, 59, 60, 61,
		61, 62, 62, 63, 64, 65, 66, 66, 66, 67, 68, 68, 69, 70, 71, 72, 72, 73,
		74, 74, 75, 76, 77, 77, 78, 79, 79, 79, 80, 81, 82, 83, 84, 84, 85, 86,
		87, 87, 88, 89, 90, 91, 91, 92, 92, 93, 94, 94, 95, 96, 97, 97, 98, 99,
		99, 99, 99, 100, 101, 101, 102, 102, 103, 104, 105, 106, 106, 107, 107,
		108, 109, 110, 111, 111, 112, 113, 114, 114, 115, 116, 117, 118, 118,
		119, 120, 121, 121, 121, 122, 123, 124, 124, 125, 125, 126, 126, 127,
		127, 128, 129, 129, 130, 130, 131, 132, 133, 134, 135, 135, 136, 137,
		137, 137, 138, 138, 139, 139, 139, 140, 141, 141, 142, 143, 144, 145,
		146, 146, 146, 147, 148, 149, 150, 150, 150, 151, 152, 153, 154, 154,
		154, 154, 155, 156, 156, 157, 157, 158, 159, 160, 160, 161, 161, 162,
		162, 163, 164, 165, 165, 166, 166, 167, 168, 168, 168, 169, 170, 171,
		172, 172, 173, 174, 174, 175, 176, 177, 178, 179, 179, 180, 180, 180,
		180, 181, 182, 183, 184, 185, 186, 186, 187, 187, 188, 189, 189, 189,
		189, 190, 191, 191, 191, 192, 193, 193, 194, 195, 195, 196, 196, 197,
		197, 198, 199, 199, 200, 201, 202, 203, 203, 203, 203, 204, 205, 205,
		205, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 214, 215, 216,
		217, 217, 217, 217, 217, 217, 217, 218, 218, 219, 219, 220, 221, 221,
		221, 221, 222, 222, 223, 223, 223, 224, 225, 226, 227, 228, 228, 229,
		230, 231, 231, 232, 232, 233, 234, 235, 236, 237, 238, 239, 239, 239,
		240, 240, 240, 241, 241, 242, 242, 242, 243, 244, 245, 246, 247, 248,
		248, 248, 249, 250, 250, 251, 252, 253, 254, 255, 256, 257, 258, 258,
		259, 259, 259, 259, 259, 260, 260, 261, 262, 263, 263, 263, 263, 264,
		265, 266, 266, 267, 267, 267, 268, 269, 269, 270, 270, 271, 272, 272,
		273, 274, 274, 274, 275, 275, 276, 277, 278, 278, 279, 279, 280, 280,
		280, 281, 281, 282, 282, 282, 283, 283, 283, 283, 284, 285, 286, 287,
		288, 289, 290, 290, 291, 291, 292, 292, 293, 293, 293, 293, 294, 295,
		295, 295, 296, 297, 297, 297, 297, 297, 298, 299, 300, 300, 301, 302,
		303, 304, 305, 306, 306, 307, 308, 308, 309, 309, 309, 310, 310, 310,
		311, 312, 312, 312, 313, 314, 315, 316, 317, 317, 318, 319, 319, 319,
		319, 320, 321, 322, 323, 324, 324, 325, 325, 326, 326, 326, 326, 327,
		327, 327, 327, 327, 328, 329, 329, 330, 331, 331, 331, 332, 333, 334,
		334, 335, 335, 335, 336, 337, 338, 338, 339, 340, 340, 341, 342, 342,
		343, 344, 344, 344, 344, 344, 345, 346, 347, 348, 349, 349, 350, 350,
		350, 351, 352, 353, 354, 355, 356, 357, 357, 358, 358, 359, 359, 360,
		360, 361, 362, 363, 363, 363, 364, 364, 365, 366, 367, 367, 367, 367,
		367, 367, 367, 368, 368, 368, 368, 369, 370, 370, 370, 371, 372, 373,
		374, 375, 375, 375, 375, 375, 376, 376, 376, 377, 378, 378, 378, 379,
		380, 381, 381, 381, 381, 382, 382, 383, 383, 384 };

//units_mod_60 holds all the numbers between 0 and 60 that are relatively prime with 60
unsigned char units_mod_60[16] = {1, 7,  11, 13,
		                         17, 19, 23, 29,
		                         31, 37, 41, 43,
		                         47, 49, 53, 59};

//wordbits[x] holds the population count of x
static unsigned char wordbits[65536];
wordbits[1] = 0;//TODO: make sure this works/make it work so that you know if wordbits has been filled

//lowest_bit_table[x] holds the lowest bit of x set to "1", i.e. 10000000, 10, 1000, 1, 0, etc
unsigned char lowest_bit_table[256]={0, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            16, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            32, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            16, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            64, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            16, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            32, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            16, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            128, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            16, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            32, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            16, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            64, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            16, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            32, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1,
		                            16, 1, 2, 1, 4, 1, 2, 1, 8, 1, 2, 1, 4, 1, 2, 1};

//highest_bit_table[x] holds the highest bit of x set to "1", i.e. 10000000, 10, 1000, 1, 0, etc
unsigned char highest_bit_table[256]={0, 1, 2, 2, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16,
                                       16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 32, 32, 32, 32, 32, 32, 32,
                                       32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
                                       32, 32, 32, 32, 32, 32, 32, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
                                       64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
                                       64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
                                       64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
                                       128};

//bit_index holds the binary logarithm, and is used to find the location of the "1" bit in a byte with one "1" bit i.e. 7, 1, 0, etc
unsigned char bit_index_table[256] = {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
		                              4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
		                              5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
		                              5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
		                              6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
		                              6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
		                              6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
		                              6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
		                              7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
		                              7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
		                              7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
		                              7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
		                              7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
		                              7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
		                              7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
		                              7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7};



/*
 * The prime counting function to be included in Sage.
 *
 * INPUT:
 *
 *  - ``x`` the number up to which we want to count primes
 *
 * OUTPUT:
 *
 *  integer -- the number of primes <=x
 *
 * EXAMPLES:
 *
 *  TODO: add examples
 *
 * NOTES:
 *
 *  long can represent 32 or 64 bits depending on the machine
 *  This formula in the return statement follows from a >= prime_pi(cube_root(x))
 *
 * REFERENCES:
 *  The formula in the final return statement is described in:
 *   [LMO1985] equation 2.2 (Section 2 Algorithms of Meissel-Lehmer Type, page 6)
 *   [DR1996] equation 4
 *   [G2001] page 2: Section 2 Recall of the Method, line 13
 *   [S2006] equation 2
 *
 * AUTHORS:
 *
 *  Kevin Stueve (2009-08-16)
 */
unsigned long int prime_pi(unsigned long int x) {
	/*
	 * Note: phi2 has side-effects - it mutates a and prime_prime_pi_square_root_x
	 * Note: phi depends on the side-effects of phi2 - it uses a
	 */
	if (x <= 7)
		return smallpi[x];
	if (x <= 2657) {
		//Compare to [Silva 2006] equation 5
		unsigned short int index = (x / 210) * 48 + table1[(x % 210 + 1) / 2] - 1;
		return table2[index];

	//Calculate the 64k lookup table only once
	if (wordbits[1] == 0) {
		for (int i = 0; i < 65536; i ++) {
			wordbits[i] = pop_count2(i);
		}
	}
	//See [Silva 2006] Section C, Choice of the value alpha
	//TODO: adjust beta
	beta = 1;
	alpha = beta * pow(log(x), 3);

	return -phi2(x) - 1 + a + phi(x); //Note: phi2 must be called before phi and a are used
	}

	/*
	 * An upper bound for the offset logarithmic integral, Li(x)
	 *
	 * INPUT:
	 *
	 *  - ``y`` the number y of which the logarithmic integral is desired
	 *
	 * OUTPUT:
	 *
	 *  double -- an upper bound for Li(x)
	 *
	 * EXAMPLES:
	 *
	 *  >>> from mpmath import li
	 *  >>> for n in range(1,12):
	 *  ...     y = 10**n
	 *  ...     print "%14.3f %14.3f" % (Li_approx(y), li(y)-li2)
	 *  ...
	 *          8.957          5.120
	 *         31.184         29.081
	 *        177.941        176.564
	 *       1246.918       1245.092
	 *       9630.136       9628.764
	 *      78627.536      78626.504
	 *     664918.780     664917.360
	 *    5762209.464    5762208.330
	 *   50849234.805   50849233.912
	 *  455055614.772  455055613.541
	 * 4118066400.588 4118066399.576
	 * As intended, li_approx overshoots by ~1 (slightly more only for small values).
	 *
	 * NOTES:
	 * It uses an asymptotic series and aims for an absolute rather than relative
	 * precision. Further, the algorithm includes the first divergent term of the
	 * asymptotic expansion and is thus guaranteed(*) to produce an overestimate.
	 *
	 * (*): may not hold when the floating-point precision is exhausted, e.g. for li(y) > 10^15, but presumably
	 * that range is not relevant here
	 *
	 * AUTHORS:
	 *
	 *  Fredrik Johansson (2009-08-25)
	 */
	double Li_approx(double y) {
		double li2 = 1.04516378011749278;
		double x = log(y);
		double s = t = y;
		double r = 1. / x;
		double k = 1;
		double tprev = t;
		while (t <= tprev) {
			tprev = t;
			t *= k;
			t *= r;
			s += t;
			k += 1;
		}
		return s * r - li2;
	}

	/*
	 * An upper bound for the prime counting function
	 *
	 * INPUT:
	 *
	 *  - ``x`` the number x up to which we want to count primes
	 *
	 * OUTPUT:
	 *
	 *  unsigned long int -- an upper bound for the prime counting function
	 *
	 * EXAMPLES:
	 *
	 *  TODO: add examples
	 *
	 * NOTES:
	 *
	 * The Riemann hypothesis is assumed.  This function is only guaranteed to be valid for x>=2657
	 *
	 * REFERENCES:
	 *
	 * http://en.wikipedia.org/wiki/Riemann_hypothesis#Distribution_of_prime_numbers
	 *
	 * AUTHORS:
	 *
	 *  Kevin Stueve (2009-08-25)
	 */
	unsigned long int prime_pi_upper_bound(unsigned long int x) {
		return Li_approx(x) + sqrt(x) * log(x) / (8 * pi);
	}

	/*
	 * Creates an upper bound to be given to sieve function so that it includes numbers
	 *   congruent to delta modulo 60 less than or equal to x
	 *
	 * INPUT:
	 *
	 *  - ``x`` the number x up to which we want to count primes congruent to modulo 60
	 *
	 *  - ``delta`` a unit modulo 60 to be given to the sieve function
	 *
	 * OUTPUT:
	 *
	 *  unsigned long int -- the segment's upper bound to be given to the sieve function
	 *
	 * EXAMPLES:
	 *
	 *  TODO: add examples
	 *
	 * AUTHORS:
	 *
	 *  Kevin Stueve (2009-08-27)
	 */
	inline unsigned long int segment_upper_bound(unsigned long int x, unsigned char delta){
		return x / 60 + (delta >= (x) % 60);
	}

	/*
	 * Creates a lower bound to be given to sieve function so that it includes numbers
	 *   congruent to delta modulo 60 greater than or equal to x
	 *
	 * INPUT:
	 *
	 *  - ``x`` the number x above which we want to count primes congruent to delta modulo 60
	 *
	 *  - ``delta`` a unit modulo 60 to be given to the sieve function
	 *
	 * OUTPUT:
	 *
	 *  unsigned long int -- the segment's lower bound to be given to the sieve function
	 *
	 * EXAMPLES:
	 *
	 *  TODO: add examples
	 *
	 * AUTHORS:
	 *
	 *  Kevin Stueve (2009-08-27)
	 */
	inline unsigned long int segment_lower_bound(unsigned long int x, unsigned char delta){
		return x / 60 + (delta < (x) % 60);
	}

	/*
	 * Returns a bit out of an unsigned short int
	 *
	 * INPUT:
	 *
	 * - ``num`` an unsigned short int out of which we want a bit
	 *
	 *  - ``x`` an index of a specific bit of num to be obtained
	 *
	 * OUTPUT:
	 *
	 *  unsigned char -- the bit at index x, either 1 or 0
	 *
	 * EXAMPLES:
	 *
	 *  TODO: add examples
	 *
	 * AUTHORS:
	 *
	 *  Kevin Stueve (2009-08-28)
	 */
	inline unsigned char get_bit(unsigned short int num, unsigned int x){
		return num & (1 << (x % 8));
	}

	/*
	 * Returns the number of 1 bits in a number
	 *
	 * INPUT:
	 *
	 *  - ``x`` a number in which to count 1 bits
	 *
	 * OUTPUT:
	 *
	 *  unsigned char -- the number of
	 *
	 * EXAMPLES:
	 *
	 *  TODO: add examples
	 *
	 *  NOTES:
	 *
	 *  The number of 1 bits per 32 bit interval near x is 1 / log(x) / (16 / 60) * 32 = 5.8
	 *  2657 19
	 *  For x = 10 ^ 9 it is 5.8
	 *  For x near 2657, approximately 15.2 bits per 32 bits would be 1
	 *
	 *  for n in range(4,26):
	 *   y = 10**n
	 *   print "%14.3f %14.3f" % (n, 1 / log(y) / (16 / 60) * 32)
	 *
	 *  log(10, x)             approximate number of bits that are 1 per 32 bits near x
	 *   4.000         13.029
	 *   5.000         10.423
     *   6.000          8.686
     *   7.000          7.445
     *   8.000          6.514
     *   9.000          5.791
     *   10.000          5.212
     *   11.000          4.738
     *   12.000          4.343
     *   13.000          4.009
     *   14.000          3.723
     *   15.000          3.474
     *   16.000          3.257
     *   17.000          3.066
     *   18.000          2.895
     *   19.000          2.743
     *   20.000          2.606
     *   21.000          2.482
     *   22.000          2.369
     *   23.000          2.266
     *   24.000          2.171
     *   25.000          2.085
	 *  TODO: It is IMPORTANT to improve the performance of this function by using the POPCNT instruction (one operation), if present
	 *
	 * REFERENCES:
	 *
	 *  http://en.wikipedia.org/wiki/Hamming_weight#Efficient_implementation (Retrieved 2009-08-28)
	 *
	 *  http://stackoverflow.com/questions/109023/best-algorithm-to-count-the-number-of-set-bits-in-a-32-bit-integer (Retrieved 2009-08-28)
	 *
	 *  http://stackoverflow.com/questions/109023/best-algorithm-to-count-the-number-of-set-bits-in-a-32-bit-integer/131212#131212
	 *
	 *  http://ctips.pbworks.com/CountBits
	 *
	 *  http://en.wikipedia.org/wiki/SSE4 (Retrieved 2009-08-28)
	 *
	 * AUTHORS:
	 *
	 *  Wikipedia Contributors of http://en.wikipedia.org/wiki/Hamming_weight#Efficient_implementation (2009-08-28)
	 *
	 *  Matt Howells (2008-09-20)
	 *
	 *  Kevin Stueve (2009-08-28)
	 */
	#define f(y) if ((x &= x-1) == 0) return y;
	inline unsigned char pop_count1(unsigned int x) {
		//This method is optimized for the case when most bits are 0.
	    //It uses 2 arithmetic operations and one comparison/branch per "1" bit in x.
	    if (x == 0) return 0;
	    f( 1) f( 2) f( 3) f( 4) f( 5) f( 6) f( 7) f( 8)
	    f( 9) f(10) f(11) f(12) f(13) f(14) f(15) f(16)
	    f(17) f(18) f(19) f(20) f(21) f(22) f(23) f(24)
	    f(25) f(26) f(27) f(28) f(29) f(30) f(31)
	    return 32;
	}
	inline unsigned char pop_count2(unsigned int i) {
		 i = i - ((i >> 1) & 0x55555555);
		 i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
		 return ((i + (i >> 4) & 0xF0F0F0F) * 0x1010101) >> 24;
	}
	inline unsigned char pop_count3(unsigned int num) {
	     int count = 0;
	     static int nibblebits[] =
	          {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4};
	     for(; num != 0; num >>= 4)
	          count += nibblebits[num & 0x0f];
	     return count;
	}

	inline unsigned char pop_count4(unsigned int x) {
	    //TODO IMPORTANT: add an option to use this version, which is a single operation on some machines (and use a 64 bit version if available)
		return __builtin_popcount(x);
	}
	inline unsigned char pop_count5(unsigned int i) {
		return( wordbits[i&0xFFFF] + wordbits[i>>16] );
	}
	inline unsigned char pop_count( unsigned short int i)
	{
	   return( wordbits[i]);
	}



	/*
	 * The second partial sieve function, which counts numbers <= x with exactly 2 prime factors, none smaller than or equal to the a-th prime
	 *
	 * INPUT:
	 *
	 *  - ``x`` the number up to which we want to count numbers with exactly 2 prime factors, none smaller than or equal to a-th prime
	 *
	 * OUTPUT:
	 *
	 *  integer -- the number of numbers <= x with exactly 2 prime factors, none smaller than or equal to the a-th prime
	 *
	 * EXAMPLES:
	 *
	 *  TODO: add examples
	 *
	 * NOTES:
	 *
	 *  phi2 has side-effects - it mutates a and prime_prime_pi_square_root_x
	 *
	 * REFERENCES:
	 *
	 *   IEEE 754-2008, From Wikipedia, the free encyclopedia
	 *   http://en.wikipedia.org/wiki/IEEE_754-2008 retrieved 2009-08-18
	 *
	 *   What is Riemann’s Hypothesis? by Barry Mazur and William Stein (6 is a common prime gap)
	 *   http://wstein.org/rh/ (retrieved 2008-08-30)
	 *
	 *   [LMO 1985] Section "Algorithm P2" pages 11-14
	 *
	 * AUTHORS:
	 *
	 *  Kevin Stueve (2009-08-16)
	 */
	unsigned long int phi2(unsigned long int x) {
		//We split the interval [1,z[ into blocks of size 60 * B.
        //For each block:
        //    For each delta relatively prime to 60:
        //        -We use the Atkin-Bernstein sieve with listA (of length B) to find the primes of the form 60 * k + delta in interval A
        //        -We use the Atkin-Bernstein sieve with listB to find all primes p of the form 60 * k + delta such that p is in interval B (meaning x / p is in interval A)
        //        -We evaluate the sum of pi(x / p, 60, delta) for p in interval B by performing one pass through listA and add the result to an accumulator
        //After we have finished all the blocks and deltas, we have enough information to calculate phi2(x,a)
		//listA and listB
        //We use the method of [LMO 1985] here instead of [Silva 2006] because the Bernstein-Atkin sieve is available

		//y is the exact value of the floor of alpha times the cube root of x
		//The calculation in the line below could be optimized by using an algorithm designed for an exact integral result
		//The number of binary digits in pow(x, 1 / 3.0) will be <= 21 (because (2 ^ 64) ^ (1 / 3) < 2 ^ 22)
		//The number of binary digits in y will be <= 32 (because (2 ^ 64) ^ (1 / 2) = 2 ^ 32))
		//The precision of IEEE 754 double is 52 bits, so there will be no loss of precision before the decimal place.
		//WARNING IMPORTANT COMPILER DEPENDANCY: unsigned int is assumed to be 32 bits, not 16 or 24. sizeof(unsigned int) should be 4
		unsigned int y = alpha * pow(x, 1 / 3.0);

		//TODO: There should be an option to adjust B to a smaller value by the user at run-time
		//60 * B is the size of the segments into which [1, z[ is split,
		//  i.e. each segment is [(j - 1) * 60 * B + 1, j * 60 * B] for j >= 1
		//Note: The size of B is the determining factor in the space complexity of phi2
		//  It may be decreased toward cuberoot(x) to save space (as is necessary for record computations
		//  of the prime counting function), but this will negatively impact time complexity,
		//  removing the o(n) time complexity nature of the Bernstein-Atkin sieve.
		//  See [DR1996] page 237 line 4, [Galway 2000] section 4, and [AB2003] section 5
		unsigned int B = 60 * pow(x, 1 / 2.0);

		//z is the exact value of the floor of x ^ (2 / 3.0) / alpha
		//The calculation in the line below could be optimized by using an algorithm designed for an exact integral result
		//The number of binary digits in z will be <= 42 (because (2 ^ 64) ^ (2 / 3) < 2 ^ 43)
		//The precision of IEEE 754 double is 52 bits, so there will be no loss of precision before the decimal place.
		unsigned long int z = pow(x, 2 / 3.0) / alpha;

		//We are going to sieve the interval [1,z[ in blocks of size 60 * B
		//We determine prime_pi_square_root_x during the appropriate block
		//During each block we make appropriate additions to phi2_accumulator
		//After all blocks are sieved, we perform additional calculations to conclude the calculation of phi2's return value
		//The variable in the line below is equivalent to S in [LMO 1985] on page 13
		unsigned long int phi2_accumulator = 0;

		//listA is used by the sieve function to hold a bit for each number 60 * k + delta in the interval
		// of size 60 * B, [(j - 1) * 60 * B, j * 60 * B] (interval A), j starts at 1.  Note that the last segment may be smaller.
		//Each j corresponds to a different segment of [1, z[.  The sieve is run for each delta relatively prime to 60,
		//and after each run listA holds a 1 for each bit position of a prime equivalent to delta modulo 60 in the
		//interval and a zero for all composites equivalent to delta modulo 60 in the interval
		//this is double division.  we want an array of 16 bit unsigned short ints
		unsigned int length_listA = ceil(B / 16.0);
		unsigned short int *listA = malloc(length_listA);

		if (listA == 0) {
			/* Memory could not be allocated, TODO: add error message and exit*/
		}

		//a and prime_pi_square_root_x are global variables described near the top of this file
		//we need to include 2, 3, and 5, which are relatively prime to 60 and not counted by the sieve function
        a += 3;
        prime_pi_square_root_x += 3;

		//listB is used by the sieve function to hold a bit for each number 60 * k + delta in the half-open interval
		//  I sub j = ]x / (j * 60 * B + 1), x / ((j - 1) * 60 * B + 1)] intersect ]y, sqrt(x)] (interval B)
        // If p is in interval B, than x / p is in interval A
		//Reference: [LMO 1985] page 14
		//temp the size of the interval I sub j, it is divided by 60 and rounded up to obtain an upper bound on the number of bits needed by the sieve function
		//temp is determined by solving the inequality j * 60 * B + 1 > sqrt(x) (necessary for I jub j to be nonempty) for j
		//  and substituting into the middle piece of the main inequality on [LMO 1985] page 14 and simplifying.
        //The number of bits needed is divided by 8 and rounded up to obtain an upper bound on the number of bytes needed by the sieve function
		//60 * B here corresponds to N on [LMO 1985] page 14 and to B in [AB2003] and [G2000]
		//TODO: watch out for division by zero
		//note: if 60 * B is near cuberoot(x), then temp is near cuberoot(x), but if 60 * B is near sqrt(x), then temp is near sqrt(x)
		//TODO: study the relationship between B and temp more
		//The sieve is run for each delta relatively prime to 60,
		//and after each run listB has a 1 for each prime equivalent to delta modulo 60 in the interval, and a 0 for the composites.
		//The end result is that we can find primes p equivalent to delta modulo 60 such that x / p is in interval A for some value of j and delta
		double temp = min(60 * B * x / ((sqrt(x) - 60 * B) * ((sqrt(x) - 60 * B))) + 1,
				          sqrt(x) - a);
		//note: this is double division
		int number_of_bits_needed = ceil(temp / 60.0);
		//note: this is double division
		unsigned int length_listB = ceil(number_of_bits_needed / 16.0);
		//we want an array of 16 bit unsigned short ints
		unsigned short int *listB = malloc(length_listB);

		if (listB == 0) {
			/* Memory could not be allocated, TODO: add error message and exit*/
		}

		/* Allocation succeeded.*/



		//We will be filling listA with primes congruent to delta1 modulo 60 in interval A.
		//for each unit modulo 60
		for (unsigned char i = 0; i < 16; i ++) {
			unsigned char delta1 = units_mod_60[i];

			//prime_pi_B_minus_one is poorly named, for it is not directly related to B
			//prime_pi_B_minus_one is used to hold the number of primes congruent to delta1 modulo 60 found less than the lower bound of the current segment in listA
			//see [Silva2006] eq 15, which inspired the name of this variable
			//prime_pi_B_minus_one is reset to 0 for each value of delta1 because it only used to keep track of a count of primes congruent to each delta1
			unsigned long int prime_pi_B_minus_one = 0;

			////j_initial is floor((sqrt(x) - 1) / (60 * B) + 1)
			//the initial value of j is determined by solving the inequality j * 60 * B + 1 > sqrt(x)
			//  (which is necessary for I jub j to be nonempty) for j.  See [LMO 1985] page 14.
			//If B > sqrt(x) and  2657 <= x, j_inital is guaranteed to be 1
			//If B = floor(cube_root(x)), j_initial is not 2 until x =~ 4.66 * 10 ^ 10,
			// using such a B, using j_initial = 1 results in negligible extra calculation
			//   (i.e. sieveing in listA and listB only to find that there are no primes in interval B)
			//IMPORTANT note: the convention used by [LMO 1985] and used here is that j starts at 1, not 0
			unsigned int j_initial = 1;

			//each iteration sieves [(j - 1) * 60 * B + 1, j * 60 * B] in listA
			//Each segment held in listA is of length 60 * B
			//the final value of j is made so that the last block is that containing z - 1,
			//  we will adjust the bounds of the last block so that z - 1 is the last element included in the sieve
			// we divide by (60 * B) when finding the final j because j represents what segment of size (60 * B) we are in
			//note: integer division is being performed here
			for (unsigned int j = j_initial; j < ceil(((double) z - 1) / (60 * B)); j++) {

				//see [LMO 1985] Section "Algorithm P2" (pages 11 - 14) for information on the bounds of listA and listB
				//note: listA_lower_bound and listA_upper_bound don't depend on delta1; presumably the compiler takes this into account
				//note: a factor of 60 is not needed here because it is implied in the use of the sieve function
				//IMPORTANT note: it is important to understand why there is a factor of 60 in which cases
				//the sieve function will sieve a block of size 60 * B in listA
				unsigned int listA_lower_bound = (j - 1) * B;
				unsigned int listA_upper_bound = j * B;

				//if this is the last segment
				//we divide by (60 * B) because j represents what segment of size (60 * B) we are in
				//note: loop unrolling should prevent this check from being performed excessively
				//note: float division is being performed here
				if (j == ceil(z / (60.0 * B)) - 1) {

					//note: the -1 makes this end open- we don't include z.  see [Silva 2006 Section A]
					listA_upper_bound = segment_upper_bound(z - 1, delta1);
				}

				//find primes in [(j - 1) * 60 * B + 1, j * 60 * B] (interval A) equivalent to delta1 modulo 60
				//after sieve is called, there will be a 1 at each bit position in listA corresponding to a prime
				sieve(listA_lower_bound, listA_upper_bound, listA, delta1);

				//TODO: maybe the code for y and sqrt(x) could be replaced with a macro
				//if y is in this block
				//note: this test depends on j but not on delta1 or delta2
				//note: this occurs only for one j.  it would be nice if the compiler performs loop unrolling
				//so that this check does not need to be performed too many times-if not it is not too big of a deal
				//the number of times this check occurs is only O(z / (60 * B)) = O(x ^ (1/ 6)) if B grows as sqrt(x)
				//or O(x ^ (1 / 3)) if B grows as cuberoot(x).  The same comment applies to the check of whether sqrt(x)
				//is in this block and whether this is the last block
				if ((j - 1) * 60 * B + 1 <= y && y < j * 60 * B + 1) {
					//add to a the contribution from this j and delta1,
					//  i.e. the number of primes p that simultaneously satisfy the following:
					//     1) p is in interval A (and therefore congruent to delta1 modulo 60)
					//     2) p <= y
					//     3) p is equivalent to delta1 modulo 60
					//Note that the sum of prime_pi(y, 60, delta) over delta relatively prime to 60 is prime_pi(y) - 3

					//First we add the number of primes in listA that also satisfy the condition that
					//  the index in listA of their containing unsigned short int is less than y % (60 * B) / 16
					//i.e. we are counting the ones in all of the complete (meaning 16 bits long) 16 bit blocks before (or containing) y in listA
					//we mod by (60 * B) to get the number of bits in this segment in listA
					//we divide by 16 to obtain the number of complete unsigned short ints
					//note: integer division is being performed here
					for(unsigned int listAindex = 0; listAIndex < (y % (60 * B)) / 16; listAindex ++){

						//pop_count(x) returns the number of 1's in a byte x
						//references:
						//  http://en.wikipedia.org/wiki/Hamming_weight
						a += pop_count(((unsigned short int *)listA)[listAindex]);
					}

					//Next we add the number of the rest of the primes in listA that are less than or equal to y
					//i.e. we are counting the ones in the final (not necessarily complete) 16 bit block, containing y in listA
					//we get the next short unsigned int that would have been considered in the above for loop
					//we mod by (60 * B) to obtain the number of bits in this segment in listA
					//  (all of the intervals before this one had size (60 * B))
					//we mod by 16 to obtain the number of bits in this last unsigned short int
					//note: integer division is being performed here
					unsigned short int last_short_unsigned_int = ((unsigned short int *)listA)[(y % (60 * B)) / 16];

					//we are only counting the one bits up to a certain bit index
					for (unsigned char bit_index = 0; bit_index < (y % (60 * B)) % 16; bit_index ++){
						a += get_bit(last_short_unsigned_int, bit_index);
					}

					//Next we add the number of primes that simultaneously satisfy the following conditions:
					//  1) p is not in listA because p is less than the lower bound of intervalA
					//  2) p is less than or equal to y
					//  3) p is equivalent to delta1 modulo 60
					a += prime_pi_B_minus_one;
				}

				//if sqrt(x) is in this block
				if ((j - 1) * 60 * B + 1 <= sqrt(x) && sqrt(x) < j * 60 * B + 1) {//note: this test depends on j but not on delta1 or delta2
					//add to a the contribution from this j and delta1,
					//  i.e. the number of primes p that simultaneously satisfy the following:
					//     1) p is in interval A (and therefore congruent to delta1 modulo 60)
					//     2) p <= sqrt(x)
					//     3) p is equivalent to delta1 modulo 60
					//Note that the sum of prime_pi(y, 60, delta) over delta relatively prime to 60 is prime_pi(sqrt(x)) - 3

					//First we add the number of primes in listA that also satisfy the condition that the index in
					//listA of their containing short int is less than sqrt(x) % (60 * B) / 16
					//note: this is integer division
					for(unsigned int listAindex = 0; listAIndex < (sqrt(x) % (60 * B)) / 16; listAindex ++){

						//pop_Count(x) returns the number of 1's in a byte x
						//references:
						//  http://en.wikipedia.org/wiki/Hamming_weight
						prime_pi_square_root_x += pop_count(((unsigned int *)listA)[listAindex]);
					}

					//Next we add the number of the rest of the primes in listA that are less than or equal to sqrt(x)
					//note: this is integer division
					unsigned short int last_unsigned_int = ((unsigned int *)listA)[(sqrt(x) % (60 * B)) / 16];
					for (unsigned char bit_index = 0; bit_index < (sqrt(x) % (60 * B)) % 16; bit_index ++){
						prime_pi_square_root_x += get_bit(last_unsigned_int, bit_index);
					}

					//Next we add the number of primes that simultaneously satisfy the following conditions:
					//  1) p is not in listA because p is less than the lower bound of intervalA
					//  2) p is less than or equal to sqrt(x)
					//  3) p is equivalent to delta1 modulo 60
					prime_pi_square_root_x += prime_pi_B_minus_one;
				}

				//we will be filling listB with 1s for primes p congruent to delta2 modulo 60 such that p is in interval B, i.e. such that x / p is in interval A.
				//for each unit modulo 60
				for (unsigned char i2 = 0; i2 < 16; i2 ++) {
					unsigned char delta2 = units_mod_60[i2];

					//note: the +1 makes this end open- we don't include max(x / (j * 60 * B + 1), y)
					//note: this is integer division
					unsigned int listB_lower_bound = segment_lower_bound(max(x / (j * 60 * B + 1), y) + 1, delta2);

					//note: this end is closed- we include min(x / ((j - 1) * 60 * B + 1), sqrt(x))
					//note: this is integer division
					unsigned int listB_upper_bound = segment_upper_bound(min(x / ((j - 1) * 60 * B + 1), sqrt(x)), delta2);

					//if this is the last segment
					//note: this is integer division
					if (j == ceil(((double) z) / (60 * B)) - 1) {

						//note p > x / z follows from x / p < z.  This end is open- we don't include max(x / z, y)
						//note: this is integer division
						listB_lower_bound = segment_lower_bound(max(x / z, y) + 1, delta2);
					}


					//sieve in listB to find primes in ]x / (j * 60 * B + 1), x / ((j - 1) * 60 * B + 1)] intersect ]y, sqrt(x)] (interval B)
					//  equivalent to delta2 modulo 60.  listB will hold 1's for primes p sub b such that x / p sub b is in interval A
					sieve(listB_lower_bound, listB_upper_bound, listB, delta2);

					//the variable name delta_accumulator was inspired by [LMO 1985] page 13
					//delta_accumulator is reset to 0 once per triple (j, delta1, delta2)
					unsigned long int delta_accumulator = 0;

					//sum_prev_ints holds the number of primes in previous complete (i.e. consisting of 16 bits in length) unsigned short ints in this block in listA
					unsigned long int sum_prev_ints = 0;

					//sum_this_int holds the number of primes found in this 16 bit unsigned short int from listA so far
					unsigned long int sum_this_int = 0;

					//index_into_this_int keeps track of where we are in the current 16 bit unsigned short int in listA
					unsigned char index_into_this_int = 0;

					unsigned int listAindex = 0;

					//we want to iterate over x / p sub b, p sub b in interval B
					//We want to iterate over x / p sub b in increasing order, so we have the for loop iterate over p sub b in decreasing order
					//we need to find each prime p sub b in listB in order to calculate x / p sub b
					//note: this is double division
					for (unsigned int listBindex = ceil(listB_upper_bound * 60 / 16.0)-1; listBindex>=0; listBindex--) {

						//lookup the unsigned short int at this index
						//there could be 0, 1, 2 or more "1" bits set
						//test for 1 bit set to "1", if so find number of primes in listA <= x / p, p corresponding to this "1" bit
						unsigned short int the_int = listB[listBindex];
						unsigned int highest_bit;

						//find highest bit set to "1", i.e. 10000000, 10, 1000, 1, 0, etc  remember we are
						//if we obtain 0, there are no 1 bits, and we continue to next byte/unsigned short int/ whatever size integer over which we are iterating
						while((highest_bit = highest_bit_table[the_int]) != 0) {

							//Note: Calculating p_sub_b is a lengthy calculation,
							//but fortunately there are only a total of O(sqrt(x) / log(x)) many p sub b that we encounter
							//see [Silva 2006] Section A

							//bit_index_table obtains the index of the "1" bit, i.e. 7, 1, 0, etc
							unsigned int p_sub_b = 60 * (listB_lower_bound + listBindex * 16 + bit_index_table[highest_bit]) + delta;

							//this is the index into listA of the 16 bit unsigned short int containing x / p sub b
							unsigned int index_into_listA_of_x_over_p_sub_b = (x / p_sub_b) % (60 * B) / 16;

							//Let's find the n the number of primes in the last unsigned int of listA that are less than or equal to x / p sub b
							//this is not necessarily all of the primes in this last unsigned int of listA, we have to count only those that are less than or equal to x / p sub b
							//note: this is integer division
							//IMPORTANT NOTE: "magic code".  Some of this code may be overly similar to code inside of y and sqrt(x) test above.  code redundancy should be reduced when time permits
							//  If the number of x / p sub b (p sub b equivalent to delta2 modulo 60)
							//  within the interval correspond to a 16 bit unsigned short int is more than one, we can keep
							//  a partial sum of the "1" bits in the current 16 bit unsigned short int that persists
							//  between different values x / p sub b.  However, this may not be necessary because
							//  there are only O(sqrt(x) / log(x)) values of p sub b encountered in the entire algorithm,
							//  (because y < p sub b <= sqrt(x), see [Silva 2006] section A)
							//  which is dominated by the time to complete the sieve O(x ^ (2 / 3)/ log(log(x))).
							//  I am performing this optimization because most values of p sub b are within an order of magnitude of sqrt(x),
							//  and x / (0.8 * sqrt(x)) is very close to (x / (0.8 * sqrt(x) + 6) (note that 6 is a common prime gap)).
							//  When you consider that listA represents
							//  numbers congruent to some delta1 modulo 60 (which are approximately 60/16.0 times more likely to be prime
							//  than integers in general near the same size), and that each 16 bit short int holds 16 of these potential primes,
							//  it becomes apparent that it is quite likely that often multiple x / p sub b will be found in the same 16 bit
							//  unsigned short int of listA
							// IMPORTANT QUESTION TODO: Could we optimize this further using a lookup table that uses index_into_this_int
							//  and 8 bit byte sized chunks of last_unsigned_int to obtain partial popcount functions?  This question is a low priority because these lines are run only O(sqrt(x) / log(x)) times
							unsigned short int last_unsigned_int = listA[index_into_listA_of_x_over_p_sub_b];
							for (; index_into_this_int < ((x / p_sub_b) % (60 * B)) % 16; index_into_this_int ++){
								sum_this_int += get_bit(last_unsigned_int, index_into_this_int);
								delta_accumulator += sum_this_int;
							}

							//We now need to take into account the number of primes p that simultaneously satisfy the following conditions:
							//  1) p is congruent to delta1 modulo 60
							//  2) p is less than or equal to x / p sub b
							//  3) p is not in listA's interval, and is less than listA's lower bound
							delta_accumulator += prime_pi_B_minus_one;

							//We now need to take into account the number of primes p that simultaneously satisfy the following conditions:
							//  1) p is congruent to delta1 modulo 60
							//  2) p is less than or equal to x / p sub b
							//  3) p is in listA's interval and is in a complete unsigned int of size 16 bits (which may not necessarily include the unsigned int at address index_into_listA_of_p_sub_b)
							delta_accumulator += sum_prev_ints;

							while (listAindex < index_into_listA_of_x_over_p_sub_b) {
								sum_prev_ints += pop_count(listA[listAindex]);
								listAIndex ++;

								//IMPORTANT TODO: QUESTION Could we make these two variable bytes within a short int so we can reset them in one instruction?
								//IMPORTANT TODO: QUESTION Is the compiler smart enough to know only to run the following two lines once per visit to the while loop?
								// These lines are run only O(sqrt(x) / log(x)) times, so these questions are a low priority
								index_into_this_int = 0;
								sum_this_int = 0;
							}

							//now we only want to consider bits before this one in this 16 bit unsigned int
							the_int = the_int - highest_bit;
						} // end loop over bits in this unsigned short int in listB
					} //end loop over unsigned short ints in listB


					//delta_accumator now holds the sum of the prime_pi(x / p sub b, 60, delta1)'s for p sub b in listB

					//we have added each pi(x / p sub b, 60, delta1) with all of the following conditions simultaneously holding to delta_accumulator
					//  1) x / p sub b in interval A (the block we are considering in listA for this j)
					//  2) a < b <= prime_pi(sqrt(x)
					//  3) p sub b congruent to delta2 modulo 60

					//The following line is performed once per triple (j, delta1, delta2)
					phi2_accumulator += delta_acccumulator;
					//phi2_accumulator now also includes our sum in delta_accumulator for this j, delta1, and delta2
				} //end loop over delta2

				//let's count the rest of the primes in listA (all the primes in listA are congruent to delta1 modulo 60)
				while (listAindex < listA_upper_bound / 16) {
					sum_prev_ints += pop_count(listA[listAindex]);
					listAIndex ++;
				}

				//The following line is performed once per block in listA, i.e. once per pair (j, delta1)
				prime_pi_B_minus_one += sum_prev_ints;
				//prime_pi_B_minus_one now also includes a count of primes equivalent to delta1 modulo 60 in this block in listA.
			}  //end loop over j
		}  // end loop over delta1
		free(listA); /* We are done with the objects, and free the associated pointer. */
		free(listB);

		//3 * (prime_pi_square_root_x - a) accounts for the primes 2, 3, 5 that the sieve does not consider
		return a * (a - 1) / 2 + prime_pi_square_root_x * (prime_pi_square_root_x - 1) / 2 + phi2_accumulator
		       + 3 * (prime_pi_square_root_x - a);
	} //end phi2

	//sieves the set of numbers relatively prime to delta modulo 60 in the interval [lower_bound * 60, upper_bound * 60] using bit_array
	//After returning, bit_array holds a 1 for each prime, and 0 for each composite
	//notes:
	//
	//  assumes that bit_array is long enough to hold upper_bound - lower_bound + 1 bits to be used in the sieving
	//  assumes that delta is relatively prime to 60, positive, and less than 60
    //
	// REFERENCES:
	//
	// Atkin and Bernstein 2003
	//
	// AUTHORS:
	//
	// Kevin Stueve 2009-08-24
	void sieve(unsigned long int lower_bound, unsigned long int upper_bound, unsigned short int *bit_array, unsigned char delta) {

		//fill the bit array with 0's
		//note: this is integer division
		for (unsigned int index = 0; index < (upper_bound - lower_bound) / 16; index ++) {
			bit_array[index] = 0;
		}

		//do bit flipping
		//search for ENDOFBITFLIPPING
		inline void e1(unsigned char f, unsigned char g){

		    //Step 1
			unsigned int x = f;
			unsigned int y0 = g;
			unsigned int k0 = (4 * f * f + g * g - delta) / 60;
			unsigned int k, y;

			//Step 2
			while (k0 < upper_bound){
				k0 +=2 * x + 5;
				x += 15;
			}

			for (;;) {

				//Step 3
				x -= 15;
				k0 -= (2* x + 15);
				if (x <= 0)
					return;

				//Step 4
				while (k0 < lower_bound) {
					k0 +=y0 + 15;
					y0+=30;
				}

				//Step 5
				k = k0;
				y = y0;

				//Step 6
				while (k < upper_bound) {
					invert(x,y,k);
					k +=y + 15;
					y+=30;
				}
			}
		}
        inline void e2(unsigned char f, unsigned char g){
			//Step 1
			unsigned int x = f;
			unsigned int y0 = g;
			unsigned int k0 = (3 * f * f + g * g - delta) / 60;
			unsigned int k, y;

			//Step 2
			while (k0 < upper_bound){
				k0 += x + 5;
				x += 10;
			}

			for (;;) {

				//Step 3
				x -= 10;
				k0 -= (x + 5);
				if (x <= 0)
					return;

				//Step 4
				while (k0 < lower_bound) {
					k0 +=y0 + 15;
					y0+=30;
				}

				//Step 5
				k = k0;
				y = y0;

				//Step 6
				while (k < upper_bound) {
					invert(x,y,k);
					k +=y + 15;
					y+=30;
				}
			}
        }
        inline void e3(unsigned char f, unsigned char g){
			//Step 1
			unsigned int x = f;
			unsigned int y0 = g;
			unsigned int k0 = (3 * f * f - g * g - delta) / 60;
			unsigned int k, y;

			for(;;) {
				//Step 2
				while (k0 < upper_bound){
					if (x<y0)
						return;
					k0 -= y0 + 15;
					y += 30;
				}

				//Step 3
				k = k0;
				y = y0;

				//Step 4
				while (k0 >= lower_bound && y < x) {
					invert(x,y,k);
					k -=y + 15;
					y+=30;
				}

				//Step 5
				k0+= x + 5;
				x += 10;
			}
        }
		switch( delta )
		     {
		/* This Python code produces the switch case statement below.
		 * Define (a, b) = (4, 1) and C = 1 if delta is equivalent to 1 modulo 4.
		 * Define (a, b) = (3, 1) and C = 2 if delta is eqivalent to 7 modulo 12.
		 * Define (a, b) = (3, -1) and C = 3 if delta is equivalent to 11 modulo 12.
		 * erC(x,y) enumerates lattice points (x, y, k) such that k is equivalent to r modulo 8 (useful for optimizing bit access)
		 * and a * x * x+ b * y * y is equivalent to delta modulo 60
		    count=1
			for delta in (1, 13, 17, 29, 37, 41, 49, 53):
				s=""
				s+= "case"+" "+str(delta) +": "
				for r in range(8):
					d=60 * r + delta
					for x in range(1,60+1):
						for y in range(1,240+1):
							if (4 * x * x + y * y) % 480 ==d:
								s+= "e"+str(r)+"1("+str(x)+","+str(y)+");"
								count+=1
				s+= "break;"
				print s
			for delta in (7, 19, 31, 43):
				s=""
				s+= "case"+" "+str(delta) +": "
				for r in range(8):
					d=60 * r + delta
					for x in range(1,80+1):
						for y in range(1,240+1):
							if (3 * x * x + y * y) % 480 ==d:
								s+= "e"+str(r)+"2("+str(x)+","+str(y)+");"
								count+=1
				s+= "break;"
				print s
			for delta in (11, 23, 47, 59):
				s=""
				s+= "case"+" "+str(delta) +": "
				for r in range(8):
					d=60 * r + delta
					for x in range(1,80+1):
						for y in range(1,240+1):
							if (3 * x * x - y * y) % 480 ==d:
								s+="e"+str(r)+"3("+str(x)+","+str(y)+");"
								count+=1
				s+= "break;"
				print s
			print count
		 */
		case 1: e01(2,105);e01(2,135);e01(8,15);e01(8,225);e01(10,9);e01(10,39);e01(10,201);e01(10,231);e01(12,65);e01(12,95);e01(12,145);e01(12,175);e01(18,25);e01(18,55);e01(18,185);e01(18,215);e01(20,81);e01(20,111);e01(20,129);e01(20,159);e01(22,105);e01(22,135);e01(28,15);e01(28,225);e01(30,41);e01(30,71);e01(30,89);e01(30,119);e01(30,121);e01(30,151);e01(30,169);e01(30,199);e01(32,15);e01(32,225);e01(38,105);e01(38,135);e01(40,81);e01(40,111);e01(40,129);e01(40,159);e01(42,25);e01(42,55);e01(42,185);e01(42,215);e01(48,65);e01(48,95);e01(48,145);e01(48,175);e01(50,9);e01(50,39);e01(50,201);e01(50,231);e01(52,15);e01(52,225);e01(58,105);e01(58,135);e01(60,1);e01(60,31);e01(60,49);e01(60,79);e01(60,161);e01(60,191);e01(60,209);e01(60,239);e11(3,5);e11(3,85);e11(3,155);e11(3,235);e11(5,21);e11(5,69);e11(5,171);e11(5,219);e11(7,75);e11(7,165);e11(13,75);e11(13,165);e11(15,11);e11(15,59);e11(15,91);e11(15,101);e11(15,139);e11(15,149);e11(15,181);e11(15,229);e11(17,75);e11(17,165);e11(23,75);e11(23,165);e11(25,21);e11(25,69);e11(25,171);e11(25,219);e11(27,5);e11(27,85);e11(27,155);e11(27,235);e11(33,5);e11(33,85);e11(33,155);e11(33,235);e11(35,21);e11(35,69);e11(35,171);e11(35,219);e11(37,75);e11(37,165);e11(43,75);e11(43,165);e11(45,11);e11(45,59);e11(45,91);e11(45,101);e11(45,139);e11(45,149);e11(45,181);e11(45,229);e11(47,75);e11(47,165);e11(53,75);e11(53,165);e11(55,21);e11(55,69);e11(55,171);e11(55,219);e11(57,5);e11(57,85);e11(57,155);e11(57,235);e21(2,45);e21(2,195);e21(8,75);e21(8,165);e21(10,51);e21(10,99);e21(10,141);e21(10,189);e21(12,5);e21(12,85);e21(12,155);e21(12,235);e21(18,35);e21(18,115);e21(18,125);e21(18,205);e21(20,21);e21(20,69);e21(20,171);e21(20,219);e21(22,45);e21(22,195);e21(28,75);e21(28,165);e21(30,19);e21(30,29);e21(30,61);e21(30,109);e21(30,131);e21(30,179);e21(30,211);e21(30,221);e21(32,75);e21(32,165);e21(38,45);e21(38,195);e21(40,21);e21(40,69);e21(40,171);e21(40,219);e21(42,35);e21(42,115);e21(42,125);e21(42,205);e21(48,5);e21(48,85);e21(48,155);e21(48,235);e21(50,51);e21(50,99);e21(50,141);e21(50,189);e21(52,75);e21(52,165);e21(58,45);e21(58,195);e21(60,11);e21(60,59);e21(60,91);e21(60,101);e21(60,139);e21(60,149);e21(60,181);e21(60,229);e31(3,25);e31(3,55);e31(3,185);e31(3,215);e31(5,9);e31(5,39);e31(5,201);e31(5,231);e31(7,105);e31(7,135);e31(13,105);e31(13,135);e31(15,41);e31(15,71);e31(15,89);e31(15,119);e31(15,121);e31(15,151);e31(15,169);e31(15,199);e31(17,105);e31(17,135);e31(23,105);e31(23,135);e31(25,9);e31(25,39);e31(25,201);e31(25,231);e31(27,25);e31(27,55);e31(27,185);e31(27,215);e31(33,25);e31(33,55);e31(33,185);e31(33,215);e31(35,9);e31(35,39);e31(35,201);e31(35,231);e31(37,105);e31(37,135);e31(43,105);e31(43,135);e31(45,41);e31(45,71);e31(45,89);e31(45,119);e31(45,121);e31(45,151);e31(45,169);e31(45,199);e31(47,105);e31(47,135);e31(53,105);e31(53,135);e31(55,9);e31(55,39);e31(55,201);e31(55,231);e31(57,25);e31(57,55);e31(57,185);e31(57,215);e41(2,15);e41(2,225);e41(8,105);e41(8,135);e41(10,81);e41(10,111);e41(10,129);e41(10,159);e41(12,25);e41(12,55);e41(12,185);e41(12,215);e41(18,65);e41(18,95);e41(18,145);e41(18,175);e41(20,9);e41(20,39);e41(20,201);e41(20,231);e41(22,15);e41(22,225);e41(28,105);e41(28,135);e41(30,1);e41(30,31);e41(30,49);e41(30,79);e41(30,161);e41(30,191);e41(30,209);e41(30,239);e41(32,105);e41(32,135);e41(38,15);e41(38,225);e41(40,9);e41(40,39);e41(40,201);e41(40,231);e41(42,65);e41(42,95);e41(42,145);e41(42,175);e41(48,25);e41(48,55);e41(48,185);e41(48,215);e41(50,81);e41(50,111);e41(50,129);e41(50,159);e41(52,105);e41(52,135);e41(58,15);e41(58,225);e41(60,41);e41(60,71);e41(60,89);e41(60,119);e41(60,121);e41(60,151);e41(60,169);e41(60,199);e51(3,35);e51(3,115);e51(3,125);e51(3,205);e51(5,51);e51(5,99);e51(5,141);e51(5,189);e51(7,45);e51(7,195);e51(13,45);e51(13,195);e51(15,19);e51(15,29);e51(15,61);e51(15,109);e51(15,131);e51(15,179);e51(15,211);e51(15,221);e51(17,45);e51(17,195);e51(23,45);e51(23,195);e51(25,51);e51(25,99);e51(25,141);e51(25,189);e51(27,35);e51(27,115);e51(27,125);e51(27,205);e51(33,35);e51(33,115);e51(33,125);e51(33,205);e51(35,51);e51(35,99);e51(35,141);e51(35,189);e51(37,45);e51(37,195);e51(43,45);e51(43,195);e51(45,19);e51(45,29);e51(45,61);e51(45,109);e51(45,131);e51(45,179);e51(45,211);e51(45,221);e51(47,45);e51(47,195);e51(53,45);e51(53,195);e51(55,51);e51(55,99);e51(55,141);e51(55,189);e51(57,35);e51(57,115);e51(57,125);e51(57,205);e61(2,75);e61(2,165);e61(8,45);e61(8,195);e61(10,21);e61(10,69);e61(10,171);e61(10,219);e61(12,35);e61(12,115);e61(12,125);e61(12,205);e61(18,5);e61(18,85);e61(18,155);e61(18,235);e61(20,51);e61(20,99);e61(20,141);e61(20,189);e61(22,75);e61(22,165);e61(28,45);e61(28,195);e61(30,11);e61(30,59);e61(30,91);e61(30,101);e61(30,139);e61(30,149);e61(30,181);e61(30,229);e61(32,45);e61(32,195);e61(38,75);e61(38,165);e61(40,51);e61(40,99);e61(40,141);e61(40,189);e61(42,5);e61(42,85);e61(42,155);e61(42,235);e61(48,35);e61(48,115);e61(48,125);e61(48,205);e61(50,21);e61(50,69);e61(50,171);e61(50,219);e61(52,45);e61(52,195);e61(58,75);e61(58,165);e61(60,19);e61(60,29);e61(60,61);e61(60,109);e61(60,131);e61(60,179);e61(60,211);e61(60,221);e71(3,65);e71(3,95);e71(3,145);e71(3,175);e71(5,81);e71(5,111);e71(5,129);e71(5,159);e71(7,15);e71(7,225);e71(13,15);e71(13,225);e71(15,1);e71(15,31);e71(15,49);e71(15,79);e71(15,161);e71(15,191);e71(15,209);e71(15,239);e71(17,15);e71(17,225);e71(23,15);e71(23,225);e71(25,81);e71(25,111);e71(25,129);e71(25,159);e71(27,65);e71(27,95);e71(27,145);e71(27,175);e71(33,65);e71(33,95);e71(33,145);e71(33,175);e71(35,81);e71(35,111);e71(35,129);e71(35,159);e71(37,15);e71(37,225);e71(43,15);e71(43,225);e71(45,1);e71(45,31);e71(45,49);e71(45,79);e71(45,161);e71(45,191);e71(45,209);e71(45,239);e71(47,15);e71(47,225);e71(53,15);e71(53,225);e71(55,81);e71(55,111);e71(55,129);e71(55,159);e71(57,65);e71(57,95);e71(57,145);e71(57,175);break;
		case 13: e01(1,3);e01(1,93);e01(1,147);e01(1,237);e01(9,13);e01(9,67);e01(9,77);e01(9,83);e01(9,157);e01(9,163);e01(9,173);e01(9,227);e01(11,3);e01(11,93);e01(11,147);e01(11,237);e01(19,3);e01(19,93);e01(19,147);e01(19,237);e01(21,13);e01(21,67);e01(21,77);e01(21,83);e01(21,157);e01(21,163);e01(21,173);e01(21,227);e01(29,3);e01(29,93);e01(29,147);e01(29,237);e01(31,3);e01(31,93);e01(31,147);e01(31,237);e01(39,13);e01(39,67);e01(39,77);e01(39,83);e01(39,157);e01(39,163);e01(39,173);e01(39,227);e01(41,3);e01(41,93);e01(41,147);e01(41,237);e01(49,3);e01(49,93);e01(49,147);e01(49,237);e01(51,13);e01(51,67);e01(51,77);e01(51,83);e01(51,157);e01(51,163);e01(51,173);e01(51,227);e01(59,3);e01(59,93);e01(59,147);e01(59,237);e11(4,3);e11(4,93);e11(4,147);e11(4,237);e11(6,37);e11(6,43);e11(6,53);e11(6,107);e11(6,133);e11(6,187);e11(6,197);e11(6,203);e11(14,27);e11(14,117);e11(14,123);e11(14,213);e11(16,3);e11(16,93);e11(16,147);e11(16,237);e11(24,13);e11(24,67);e11(24,77);e11(24,83);e11(24,157);e11(24,163);e11(24,173);e11(24,227);e11(26,27);e11(26,117);e11(26,123);e11(26,213);e11(34,27);e11(34,117);e11(34,123);e11(34,213);e11(36,13);e11(36,67);e11(36,77);e11(36,83);e11(36,157);e11(36,163);e11(36,173);e11(36,227);e11(44,3);e11(44,93);e11(44,147);e11(44,237);e11(46,27);e11(46,117);e11(46,123);e11(46,213);e11(54,37);e11(54,43);e11(54,53);e11(54,107);e11(54,133);e11(54,187);e11(54,197);e11(54,203);e11(56,3);e11(56,93);e11(56,147);e11(56,237);e21(1,33);e21(1,63);e21(1,177);e21(1,207);e21(9,17);e21(9,47);e21(9,97);e21(9,113);e21(9,127);e21(9,143);e21(9,193);e21(9,223);e21(11,33);e21(11,63);e21(11,177);e21(11,207);e21(19,33);e21(19,63);e21(19,177);e21(19,207);e21(21,17);e21(21,47);e21(21,97);e21(21,113);e21(21,127);e21(21,143);e21(21,193);e21(21,223);e21(29,33);e21(29,63);e21(29,177);e21(29,207);e21(31,33);e21(31,63);e21(31,177);e21(31,207);e21(39,17);e21(39,47);e21(39,97);e21(39,113);e21(39,127);e21(39,143);e21(39,193);e21(39,223);e21(41,33);e21(41,63);e21(41,177);e21(41,207);e21(49,33);e21(49,63);e21(49,177);e21(49,207);e21(51,17);e21(51,47);e21(51,97);e21(51,113);e21(51,127);e21(51,143);e21(51,193);e21(51,223);e21(59,33);e21(59,63);e21(59,177);e21(59,207);e31(4,33);e31(4,63);e31(4,177);e31(4,207);e31(6,7);e31(6,23);e31(6,73);e31(6,103);e31(6,137);e31(6,167);e31(6,217);e31(6,233);e31(14,57);e31(14,87);e31(14,153);e31(14,183);e31(16,33);e31(16,63);e31(16,177);e31(16,207);e31(24,17);e31(24,47);e31(24,97);e31(24,113);e31(24,127);e31(24,143);e31(24,193);e31(24,223);e31(26,57);e31(26,87);e31(26,153);e31(26,183);e31(34,57);e31(34,87);e31(34,153);e31(34,183);e31(36,17);e31(36,47);e31(36,97);e31(36,113);e31(36,127);e31(36,143);e31(36,193);e31(36,223);e31(44,33);e31(44,63);e31(44,177);e31(44,207);e31(46,57);e31(46,87);e31(46,153);e31(46,183);e31(54,7);e31(54,23);e31(54,73);e31(54,103);e31(54,137);e31(54,167);e31(54,217);e31(54,233);e31(56,33);e31(56,63);e31(56,177);e31(56,207);e41(1,27);e41(1,117);e41(1,123);e41(1,213);e41(9,37);e41(9,43);e41(9,53);e41(9,107);e41(9,133);e41(9,187);e41(9,197);e41(9,203);e41(11,27);e41(11,117);e41(11,123);e41(11,213);e41(19,27);e41(19,117);e41(19,123);e41(19,213);e41(21,37);e41(21,43);e41(21,53);e41(21,107);e41(21,133);e41(21,187);e41(21,197);e41(21,203);e41(29,27);e41(29,117);e41(29,123);e41(29,213);e41(31,27);e41(31,117);e41(31,123);e41(31,213);e41(39,37);e41(39,43);e41(39,53);e41(39,107);e41(39,133);e41(39,187);e41(39,197);e41(39,203);e41(41,27);e41(41,117);e41(41,123);e41(41,213);e41(49,27);e41(49,117);e41(49,123);e41(49,213);e41(51,37);e41(51,43);e41(51,53);e41(51,107);e41(51,133);e41(51,187);e41(51,197);e41(51,203);e41(59,27);e41(59,117);e41(59,123);e41(59,213);e51(4,27);e51(4,117);e51(4,123);e51(4,213);e51(6,13);e51(6,67);e51(6,77);e51(6,83);e51(6,157);e51(6,163);e51(6,173);e51(6,227);e51(14,3);e51(14,93);e51(14,147);e51(14,237);e51(16,27);e51(16,117);e51(16,123);e51(16,213);e51(24,37);e51(24,43);e51(24,53);e51(24,107);e51(24,133);e51(24,187);e51(24,197);e51(24,203);e51(26,3);e51(26,93);e51(26,147);e51(26,237);e51(34,3);e51(34,93);e51(34,147);e51(34,237);e51(36,37);e51(36,43);e51(36,53);e51(36,107);e51(36,133);e51(36,187);e51(36,197);e51(36,203);e51(44,27);e51(44,117);e51(44,123);e51(44,213);e51(46,3);e51(46,93);e51(46,147);e51(46,237);e51(54,13);e51(54,67);e51(54,77);e51(54,83);e51(54,157);e51(54,163);e51(54,173);e51(54,227);e51(56,27);e51(56,117);e51(56,123);e51(56,213);e61(1,57);e61(1,87);e61(1,153);e61(1,183);e61(9,7);e61(9,23);e61(9,73);e61(9,103);e61(9,137);e61(9,167);e61(9,217);e61(9,233);e61(11,57);e61(11,87);e61(11,153);e61(11,183);e61(19,57);e61(19,87);e61(19,153);e61(19,183);e61(21,7);e61(21,23);e61(21,73);e61(21,103);e61(21,137);e61(21,167);e61(21,217);e61(21,233);e61(29,57);e61(29,87);e61(29,153);e61(29,183);e61(31,57);e61(31,87);e61(31,153);e61(31,183);e61(39,7);e61(39,23);e61(39,73);e61(39,103);e61(39,137);e61(39,167);e61(39,217);e61(39,233);e61(41,57);e61(41,87);e61(41,153);e61(41,183);e61(49,57);e61(49,87);e61(49,153);e61(49,183);e61(51,7);e61(51,23);e61(51,73);e61(51,103);e61(51,137);e61(51,167);e61(51,217);e61(51,233);e61(59,57);e61(59,87);e61(59,153);e61(59,183);e71(4,57);e71(4,87);e71(4,153);e71(4,183);e71(6,17);e71(6,47);e71(6,97);e71(6,113);e71(6,127);e71(6,143);e71(6,193);e71(6,223);e71(14,33);e71(14,63);e71(14,177);e71(14,207);e71(16,57);e71(16,87);e71(16,153);e71(16,183);e71(24,7);e71(24,23);e71(24,73);e71(24,103);e71(24,137);e71(24,167);e71(24,217);e71(24,233);e71(26,33);e71(26,63);e71(26,177);e71(26,207);e71(34,33);e71(34,63);e71(34,177);e71(34,207);e71(36,7);e71(36,23);e71(36,73);e71(36,103);e71(36,137);e71(36,167);e71(36,217);e71(36,233);e71(44,57);e71(44,87);e71(44,153);e71(44,183);e71(46,33);e71(46,63);e71(46,177);e71(46,207);e71(54,17);e71(54,47);e71(54,97);e71(54,113);e71(54,127);e71(54,143);e71(54,193);e71(54,223);e71(56,57);e71(56,87);e71(56,153);e71(56,183);break;
		case 17: e01(2,1);e01(2,31);e01(2,49);e01(2,79);e01(2,161);e01(2,191);e01(2,209);e01(2,239);e01(8,41);e01(8,71);e01(8,89);e01(8,119);e01(8,121);e01(8,151);e01(8,169);e01(8,199);e01(22,1);e01(22,31);e01(22,49);e01(22,79);e01(22,161);e01(22,191);e01(22,209);e01(22,239);e01(28,41);e01(28,71);e01(28,89);e01(28,119);e01(28,121);e01(28,151);e01(28,169);e01(28,199);e01(32,41);e01(32,71);e01(32,89);e01(32,119);e01(32,121);e01(32,151);e01(32,169);e01(32,199);e01(38,1);e01(38,31);e01(38,49);e01(38,79);e01(38,161);e01(38,191);e01(38,209);e01(38,239);e01(52,41);e01(52,71);e01(52,89);e01(52,119);e01(52,121);e01(52,151);e01(52,169);e01(52,199);e01(58,1);e01(58,31);e01(58,49);e01(58,79);e01(58,161);e01(58,191);e01(58,209);e01(58,239);e11(7,19);e11(7,29);e11(7,61);e11(7,109);e11(7,131);e11(7,179);e11(7,211);e11(7,221);e11(13,19);e11(13,29);e11(13,61);e11(13,109);e11(13,131);e11(13,179);e11(13,211);e11(13,221);e11(17,19);e11(17,29);e11(17,61);e11(17,109);e11(17,131);e11(17,179);e11(17,211);e11(17,221);e11(23,19);e11(23,29);e11(23,61);e11(23,109);e11(23,131);e11(23,179);e11(23,211);e11(23,221);e11(37,19);e11(37,29);e11(37,61);e11(37,109);e11(37,131);e11(37,179);e11(37,211);e11(37,221);e11(43,19);e11(43,29);e11(43,61);e11(43,109);e11(43,131);e11(43,179);e11(43,211);e11(43,221);e11(47,19);e11(47,29);e11(47,61);e11(47,109);e11(47,131);e11(47,179);e11(47,211);e11(47,221);e11(53,19);e11(53,29);e11(53,61);e11(53,109);e11(53,131);e11(53,179);e11(53,211);e11(53,221);e21(2,11);e21(2,59);e21(2,91);e21(2,101);e21(2,139);e21(2,149);e21(2,181);e21(2,229);e21(8,19);e21(8,29);e21(8,61);e21(8,109);e21(8,131);e21(8,179);e21(8,211);e21(8,221);e21(22,11);e21(22,59);e21(22,91);e21(22,101);e21(22,139);e21(22,149);e21(22,181);e21(22,229);e21(28,19);e21(28,29);e21(28,61);e21(28,109);e21(28,131);e21(28,179);e21(28,211);e21(28,221);e21(32,19);e21(32,29);e21(32,61);e21(32,109);e21(32,131);e21(32,179);e21(32,211);e21(32,221);e21(38,11);e21(38,59);e21(38,91);e21(38,101);e21(38,139);e21(38,149);e21(38,181);e21(38,229);e21(52,19);e21(52,29);e21(52,61);e21(52,109);e21(52,131);e21(52,179);e21(52,211);e21(52,221);e21(58,11);e21(58,59);e21(58,91);e21(58,101);e21(58,139);e21(58,149);e21(58,181);e21(58,229);e31(7,1);e31(7,31);e31(7,49);e31(7,79);e31(7,161);e31(7,191);e31(7,209);e31(7,239);e31(13,1);e31(13,31);e31(13,49);e31(13,79);e31(13,161);e31(13,191);e31(13,209);e31(13,239);e31(17,1);e31(17,31);e31(17,49);e31(17,79);e31(17,161);e31(17,191);e31(17,209);e31(17,239);e31(23,1);e31(23,31);e31(23,49);e31(23,79);e31(23,161);e31(23,191);e31(23,209);e31(23,239);e31(37,1);e31(37,31);e31(37,49);e31(37,79);e31(37,161);e31(37,191);e31(37,209);e31(37,239);e31(43,1);e31(43,31);e31(43,49);e31(43,79);e31(43,161);e31(43,191);e31(43,209);e31(43,239);e31(47,1);e31(47,31);e31(47,49);e31(47,79);e31(47,161);e31(47,191);e31(47,209);e31(47,239);e31(53,1);e31(53,31);e31(53,49);e31(53,79);e31(53,161);e31(53,191);e31(53,209);e31(53,239);e41(2,41);e41(2,71);e41(2,89);e41(2,119);e41(2,121);e41(2,151);e41(2,169);e41(2,199);e41(8,1);e41(8,31);e41(8,49);e41(8,79);e41(8,161);e41(8,191);e41(8,209);e41(8,239);e41(22,41);e41(22,71);e41(22,89);e41(22,119);e41(22,121);e41(22,151);e41(22,169);e41(22,199);e41(28,1);e41(28,31);e41(28,49);e41(28,79);e41(28,161);e41(28,191);e41(28,209);e41(28,239);e41(32,1);e41(32,31);e41(32,49);e41(32,79);e41(32,161);e41(32,191);e41(32,209);e41(32,239);e41(38,41);e41(38,71);e41(38,89);e41(38,119);e41(38,121);e41(38,151);e41(38,169);e41(38,199);e41(52,1);e41(52,31);e41(52,49);e41(52,79);e41(52,161);e41(52,191);e41(52,209);e41(52,239);e41(58,41);e41(58,71);e41(58,89);e41(58,119);e41(58,121);e41(58,151);e41(58,169);e41(58,199);e51(7,11);e51(7,59);e51(7,91);e51(7,101);e51(7,139);e51(7,149);e51(7,181);e51(7,229);e51(13,11);e51(13,59);e51(13,91);e51(13,101);e51(13,139);e51(13,149);e51(13,181);e51(13,229);e51(17,11);e51(17,59);e51(17,91);e51(17,101);e51(17,139);e51(17,149);e51(17,181);e51(17,229);e51(23,11);e51(23,59);e51(23,91);e51(23,101);e51(23,139);e51(23,149);e51(23,181);e51(23,229);e51(37,11);e51(37,59);e51(37,91);e51(37,101);e51(37,139);e51(37,149);e51(37,181);e51(37,229);e51(43,11);e51(43,59);e51(43,91);e51(43,101);e51(43,139);e51(43,149);e51(43,181);e51(43,229);e51(47,11);e51(47,59);e51(47,91);e51(47,101);e51(47,139);e51(47,149);e51(47,181);e51(47,229);e51(53,11);e51(53,59);e51(53,91);e51(53,101);e51(53,139);e51(53,149);e51(53,181);e51(53,229);e61(2,19);e61(2,29);e61(2,61);e61(2,109);e61(2,131);e61(2,179);e61(2,211);e61(2,221);e61(8,11);e61(8,59);e61(8,91);e61(8,101);e61(8,139);e61(8,149);e61(8,181);e61(8,229);e61(22,19);e61(22,29);e61(22,61);e61(22,109);e61(22,131);e61(22,179);e61(22,211);e61(22,221);e61(28,11);e61(28,59);e61(28,91);e61(28,101);e61(28,139);e61(28,149);e61(28,181);e61(28,229);e61(32,11);e61(32,59);e61(32,91);e61(32,101);e61(32,139);e61(32,149);e61(32,181);e61(32,229);e61(38,19);e61(38,29);e61(38,61);e61(38,109);e61(38,131);e61(38,179);e61(38,211);e61(38,221);e61(52,11);e61(52,59);e61(52,91);e61(52,101);e61(52,139);e61(52,149);e61(52,181);e61(52,229);e61(58,19);e61(58,29);e61(58,61);e61(58,109);e61(58,131);e61(58,179);e61(58,211);e61(58,221);e71(7,41);e71(7,71);e71(7,89);e71(7,119);e71(7,121);e71(7,151);e71(7,169);e71(7,199);e71(13,41);e71(13,71);e71(13,89);e71(13,119);e71(13,121);e71(13,151);e71(13,169);e71(13,199);e71(17,41);e71(17,71);e71(17,89);e71(17,119);e71(17,121);e71(17,151);e71(17,169);e71(17,199);e71(23,41);e71(23,71);e71(23,89);e71(23,119);e71(23,121);e71(23,151);e71(23,169);e71(23,199);e71(37,41);e71(37,71);e71(37,89);e71(37,119);e71(37,121);e71(37,151);e71(37,169);e71(37,199);e71(43,41);e71(43,71);e71(43,89);e71(43,119);e71(43,121);e71(43,151);e71(43,169);e71(43,199);e71(47,41);e71(47,71);e71(47,89);e71(47,119);e71(47,121);e71(47,151);e71(47,169);e71(47,199);e71(53,41);e71(53,71);e71(53,89);e71(53,119);e71(53,121);e71(53,151);e71(53,169);e71(53,199);break;
		case 29: e01(1,5);e01(1,85);e01(1,155);e01(1,235);e01(5,37);e01(5,43);e01(5,53);e01(5,107);e01(5,133);e01(5,187);e01(5,197);e01(5,203);e01(11,5);e01(11,85);e01(11,155);e01(11,235);e01(19,5);e01(19,85);e01(19,155);e01(19,235);e01(25,37);e01(25,43);e01(25,53);e01(25,107);e01(25,133);e01(25,187);e01(25,197);e01(25,203);e01(29,5);e01(29,85);e01(29,155);e01(29,235);e01(31,5);e01(31,85);e01(31,155);e01(31,235);e01(35,37);e01(35,43);e01(35,53);e01(35,107);e01(35,133);e01(35,187);e01(35,197);e01(35,203);e01(41,5);e01(41,85);e01(41,155);e01(41,235);e01(49,5);e01(49,85);e01(49,155);e01(49,235);e01(55,37);e01(55,43);e01(55,53);e01(55,107);e01(55,133);e01(55,187);e01(55,197);e01(55,203);e01(59,5);e01(59,85);e01(59,155);e01(59,235);e11(4,5);e11(4,85);e11(4,155);e11(4,235);e11(10,13);e11(10,67);e11(10,77);e11(10,83);e11(10,157);e11(10,163);e11(10,173);e11(10,227);e11(14,35);e11(14,115);e11(14,125);e11(14,205);e11(16,5);e11(16,85);e11(16,155);e11(16,235);e11(20,37);e11(20,43);e11(20,53);e11(20,107);e11(20,133);e11(20,187);e11(20,197);e11(20,203);e11(26,35);e11(26,115);e11(26,125);e11(26,205);e11(34,35);e11(34,115);e11(34,125);e11(34,205);e11(40,37);e11(40,43);e11(40,53);e11(40,107);e11(40,133);e11(40,187);e11(40,197);e11(40,203);e11(44,5);e11(44,85);e11(44,155);e11(44,235);e11(46,35);e11(46,115);e11(46,125);e11(46,205);e11(50,13);e11(50,67);e11(50,77);e11(50,83);e11(50,157);e11(50,163);e11(50,173);e11(50,227);e11(56,5);e11(56,85);e11(56,155);e11(56,235);e21(1,25);e21(1,55);e21(1,185);e21(1,215);e21(5,7);e21(5,23);e21(5,73);e21(5,103);e21(5,137);e21(5,167);e21(5,217);e21(5,233);e21(11,25);e21(11,55);e21(11,185);e21(11,215);e21(19,25);e21(19,55);e21(19,185);e21(19,215);e21(25,7);e21(25,23);e21(25,73);e21(25,103);e21(25,137);e21(25,167);e21(25,217);e21(25,233);e21(29,25);e21(29,55);e21(29,185);e21(29,215);e21(31,25);e21(31,55);e21(31,185);e21(31,215);e21(35,7);e21(35,23);e21(35,73);e21(35,103);e21(35,137);e21(35,167);e21(35,217);e21(35,233);e21(41,25);e21(41,55);e21(41,185);e21(41,215);e21(49,25);e21(49,55);e21(49,185);e21(49,215);e21(55,7);e21(55,23);e21(55,73);e21(55,103);e21(55,137);e21(55,167);e21(55,217);e21(55,233);e21(59,25);e21(59,55);e21(59,185);e21(59,215);e31(4,25);e31(4,55);e31(4,185);e31(4,215);e31(10,17);e31(10,47);e31(10,97);e31(10,113);e31(10,127);e31(10,143);e31(10,193);e31(10,223);e31(14,65);e31(14,95);e31(14,145);e31(14,175);e31(16,25);e31(16,55);e31(16,185);e31(16,215);e31(20,7);e31(20,23);e31(20,73);e31(20,103);e31(20,137);e31(20,167);e31(20,217);e31(20,233);e31(26,65);e31(26,95);e31(26,145);e31(26,175);e31(34,65);e31(34,95);e31(34,145);e31(34,175);e31(40,7);e31(40,23);e31(40,73);e31(40,103);e31(40,137);e31(40,167);e31(40,217);e31(40,233);e31(44,25);e31(44,55);e31(44,185);e31(44,215);e31(46,65);e31(46,95);e31(46,145);e31(46,175);e31(50,17);e31(50,47);e31(50,97);e31(50,113);e31(50,127);e31(50,143);e31(50,193);e31(50,223);e31(56,25);e31(56,55);e31(56,185);e31(56,215);e41(1,35);e41(1,115);e41(1,125);e41(1,205);e41(5,13);e41(5,67);e41(5,77);e41(5,83);e41(5,157);e41(5,163);e41(5,173);e41(5,227);e41(11,35);e41(11,115);e41(11,125);e41(11,205);e41(19,35);e41(19,115);e41(19,125);e41(19,205);e41(25,13);e41(25,67);e41(25,77);e41(25,83);e41(25,157);e41(25,163);e41(25,173);e41(25,227);e41(29,35);e41(29,115);e41(29,125);e41(29,205);e41(31,35);e41(31,115);e41(31,125);e41(31,205);e41(35,13);e41(35,67);e41(35,77);e41(35,83);e41(35,157);e41(35,163);e41(35,173);e41(35,227);e41(41,35);e41(41,115);e41(41,125);e41(41,205);e41(49,35);e41(49,115);e41(49,125);e41(49,205);e41(55,13);e41(55,67);e41(55,77);e41(55,83);e41(55,157);e41(55,163);e41(55,173);e41(55,227);e41(59,35);e41(59,115);e41(59,125);e41(59,205);e51(4,35);e51(4,115);e51(4,125);e51(4,205);e51(10,37);e51(10,43);e51(10,53);e51(10,107);e51(10,133);e51(10,187);e51(10,197);e51(10,203);e51(14,5);e51(14,85);e51(14,155);e51(14,235);e51(16,35);e51(16,115);e51(16,125);e51(16,205);e51(20,13);e51(20,67);e51(20,77);e51(20,83);e51(20,157);e51(20,163);e51(20,173);e51(20,227);e51(26,5);e51(26,85);e51(26,155);e51(26,235);e51(34,5);e51(34,85);e51(34,155);e51(34,235);e51(40,13);e51(40,67);e51(40,77);e51(40,83);e51(40,157);e51(40,163);e51(40,173);e51(40,227);e51(44,35);e51(44,115);e51(44,125);e51(44,205);e51(46,5);e51(46,85);e51(46,155);e51(46,235);e51(50,37);e51(50,43);e51(50,53);e51(50,107);e51(50,133);e51(50,187);e51(50,197);e51(50,203);e51(56,35);e51(56,115);e51(56,125);e51(56,205);e61(1,65);e61(1,95);e61(1,145);e61(1,175);e61(5,17);e61(5,47);e61(5,97);e61(5,113);e61(5,127);e61(5,143);e61(5,193);e61(5,223);e61(11,65);e61(11,95);e61(11,145);e61(11,175);e61(19,65);e61(19,95);e61(19,145);e61(19,175);e61(25,17);e61(25,47);e61(25,97);e61(25,113);e61(25,127);e61(25,143);e61(25,193);e61(25,223);e61(29,65);e61(29,95);e61(29,145);e61(29,175);e61(31,65);e61(31,95);e61(31,145);e61(31,175);e61(35,17);e61(35,47);e61(35,97);e61(35,113);e61(35,127);e61(35,143);e61(35,193);e61(35,223);e61(41,65);e61(41,95);e61(41,145);e61(41,175);e61(49,65);e61(49,95);e61(49,145);e61(49,175);e61(55,17);e61(55,47);e61(55,97);e61(55,113);e61(55,127);e61(55,143);e61(55,193);e61(55,223);e61(59,65);e61(59,95);e61(59,145);e61(59,175);e71(4,65);e71(4,95);e71(4,145);e71(4,175);e71(10,7);e71(10,23);e71(10,73);e71(10,103);e71(10,137);e71(10,167);e71(10,217);e71(10,233);e71(14,25);e71(14,55);e71(14,185);e71(14,215);e71(16,65);e71(16,95);e71(16,145);e71(16,175);e71(20,17);e71(20,47);e71(20,97);e71(20,113);e71(20,127);e71(20,143);e71(20,193);e71(20,223);e71(26,25);e71(26,55);e71(26,185);e71(26,215);e71(34,25);e71(34,55);e71(34,185);e71(34,215);e71(40,17);e71(40,47);e71(40,97);e71(40,113);e71(40,127);e71(40,143);e71(40,193);e71(40,223);e71(44,65);e71(44,95);e71(44,145);e71(44,175);e71(46,25);e71(46,55);e71(46,185);e71(46,215);e71(50,7);e71(50,23);e71(50,73);e71(50,103);e71(50,137);e71(50,167);e71(50,217);e71(50,233);e71(56,65);e71(56,95);e71(56,145);e71(56,175);break;
		case 37: e01(3,1);e01(3,31);e01(3,49);e01(3,79);e01(3,161);e01(3,191);e01(3,209);e01(3,239);e01(7,81);e01(7,111);e01(7,129);e01(7,159);e01(13,81);e01(13,111);e01(13,129);e01(13,159);e01(17,81);e01(17,111);e01(17,129);e01(17,159);e01(23,81);e01(23,111);e01(23,129);e01(23,159);e01(27,1);e01(27,31);e01(27,49);e01(27,79);e01(27,161);e01(27,191);e01(27,209);e01(27,239);e01(33,1);e01(33,31);e01(33,49);e01(33,79);e01(33,161);e01(33,191);e01(33,209);e01(33,239);e01(37,81);e01(37,111);e01(37,129);e01(37,159);e01(43,81);e01(43,111);e01(43,129);e01(43,159);e01(47,81);e01(47,111);e01(47,129);e01(47,159);e01(53,81);e01(53,111);e01(53,129);e01(53,159);e01(57,1);e01(57,31);e01(57,49);e01(57,79);e01(57,161);e01(57,191);e01(57,209);e01(57,239);e11(2,9);e11(2,39);e11(2,201);e11(2,231);e11(8,81);e11(8,111);e11(8,129);e11(8,159);e11(12,1);e11(12,31);e11(12,49);e11(12,79);e11(12,161);e11(12,191);e11(12,209);e11(12,239);e11(18,41);e11(18,71);e11(18,89);e11(18,119);e11(18,121);e11(18,151);e11(18,169);e11(18,199);e11(22,9);e11(22,39);e11(22,201);e11(22,231);e11(28,81);e11(28,111);e11(28,129);e11(28,159);e11(32,81);e11(32,111);e11(32,129);e11(32,159);e11(38,9);e11(38,39);e11(38,201);e11(38,231);e11(42,41);e11(42,71);e11(42,89);e11(42,119);e11(42,121);e11(42,151);e11(42,169);e11(42,199);e11(48,1);e11(48,31);e11(48,49);e11(48,79);e11(48,161);e11(48,191);e11(48,209);e11(48,239);e11(52,81);e11(52,111);e11(52,129);e11(52,159);e11(58,9);e11(58,39);e11(58,201);e11(58,231);e21(3,11);e21(3,59);e21(3,91);e21(3,101);e21(3,139);e21(3,149);e21(3,181);e21(3,229);e21(7,21);e21(7,69);e21(7,171);e21(7,219);e21(13,21);e21(13,69);e21(13,171);e21(13,219);e21(17,21);e21(17,69);e21(17,171);e21(17,219);e21(23,21);e21(23,69);e21(23,171);e21(23,219);e21(27,11);e21(27,59);e21(27,91);e21(27,101);e21(27,139);e21(27,149);e21(27,181);e21(27,229);e21(33,11);e21(33,59);e21(33,91);e21(33,101);e21(33,139);e21(33,149);e21(33,181);e21(33,229);e21(37,21);e21(37,69);e21(37,171);e21(37,219);e21(43,21);e21(43,69);e21(43,171);e21(43,219);e21(47,21);e21(47,69);e21(47,171);e21(47,219);e21(53,21);e21(53,69);e21(53,171);e21(53,219);e21(57,11);e21(57,59);e21(57,91);e21(57,101);e21(57,139);e21(57,149);e21(57,181);e21(57,229);e31(2,51);e31(2,99);e31(2,141);e31(2,189);e31(8,21);e31(8,69);e31(8,171);e31(8,219);e31(12,11);e31(12,59);e31(12,91);e31(12,101);e31(12,139);e31(12,149);e31(12,181);e31(12,229);e31(18,19);e31(18,29);e31(18,61);e31(18,109);e31(18,131);e31(18,179);e31(18,211);e31(18,221);e31(22,51);e31(22,99);e31(22,141);e31(22,189);e31(28,21);e31(28,69);e31(28,171);e31(28,219);e31(32,21);e31(32,69);e31(32,171);e31(32,219);e31(38,51);e31(38,99);e31(38,141);e31(38,189);e31(42,19);e31(42,29);e31(42,61);e31(42,109);e31(42,131);e31(42,179);e31(42,211);e31(42,221);e31(48,11);e31(48,59);e31(48,91);e31(48,101);e31(48,139);e31(48,149);e31(48,181);e31(48,229);e31(52,21);e31(52,69);e31(52,171);e31(52,219);e31(58,51);e31(58,99);e31(58,141);e31(58,189);e41(3,41);e41(3,71);e41(3,89);e41(3,119);e41(3,121);e41(3,151);e41(3,169);e41(3,199);e41(7,9);e41(7,39);e41(7,201);e41(7,231);e41(13,9);e41(13,39);e41(13,201);e41(13,231);e41(17,9);e41(17,39);e41(17,201);e41(17,231);e41(23,9);e41(23,39);e41(23,201);e41(23,231);e41(27,41);e41(27,71);e41(27,89);e41(27,119);e41(27,121);e41(27,151);e41(27,169);e41(27,199);e41(33,41);e41(33,71);e41(33,89);e41(33,119);e41(33,121);e41(33,151);e41(33,169);e41(33,199);e41(37,9);e41(37,39);e41(37,201);e41(37,231);e41(43,9);e41(43,39);e41(43,201);e41(43,231);e41(47,9);e41(47,39);e41(47,201);e41(47,231);e41(53,9);e41(53,39);e41(53,201);e41(53,231);e41(57,41);e41(57,71);e41(57,89);e41(57,119);e41(57,121);e41(57,151);e41(57,169);e41(57,199);e51(2,81);e51(2,111);e51(2,129);e51(2,159);e51(8,9);e51(8,39);e51(8,201);e51(8,231);e51(12,41);e51(12,71);e51(12,89);e51(12,119);e51(12,121);e51(12,151);e51(12,169);e51(12,199);e51(18,1);e51(18,31);e51(18,49);e51(18,79);e51(18,161);e51(18,191);e51(18,209);e51(18,239);e51(22,81);e51(22,111);e51(22,129);e51(22,159);e51(28,9);e51(28,39);e51(28,201);e51(28,231);e51(32,9);e51(32,39);e51(32,201);e51(32,231);e51(38,81);e51(38,111);e51(38,129);e51(38,159);e51(42,1);e51(42,31);e51(42,49);e51(42,79);e51(42,161);e51(42,191);e51(42,209);e51(42,239);e51(48,41);e51(48,71);e51(48,89);e51(48,119);e51(48,121);e51(48,151);e51(48,169);e51(48,199);e51(52,9);e51(52,39);e51(52,201);e51(52,231);e51(58,81);e51(58,111);e51(58,129);e51(58,159);e61(3,19);e61(3,29);e61(3,61);e61(3,109);e61(3,131);e61(3,179);e61(3,211);e61(3,221);e61(7,51);e61(7,99);e61(7,141);e61(7,189);e61(13,51);e61(13,99);e61(13,141);e61(13,189);e61(17,51);e61(17,99);e61(17,141);e61(17,189);e61(23,51);e61(23,99);e61(23,141);e61(23,189);e61(27,19);e61(27,29);e61(27,61);e61(27,109);e61(27,131);e61(27,179);e61(27,211);e61(27,221);e61(33,19);e61(33,29);e61(33,61);e61(33,109);e61(33,131);e61(33,179);e61(33,211);e61(33,221);e61(37,51);e61(37,99);e61(37,141);e61(37,189);e61(43,51);e61(43,99);e61(43,141);e61(43,189);e61(47,51);e61(47,99);e61(47,141);e61(47,189);e61(53,51);e61(53,99);e61(53,141);e61(53,189);e61(57,19);e61(57,29);e61(57,61);e61(57,109);e61(57,131);e61(57,179);e61(57,211);e61(57,221);e71(2,21);e71(2,69);e71(2,171);e71(2,219);e71(8,51);e71(8,99);e71(8,141);e71(8,189);e71(12,19);e71(12,29);e71(12,61);e71(12,109);e71(12,131);e71(12,179);e71(12,211);e71(12,221);e71(18,11);e71(18,59);e71(18,91);e71(18,101);e71(18,139);e71(18,149);e71(18,181);e71(18,229);e71(22,21);e71(22,69);e71(22,171);e71(22,219);e71(28,51);e71(28,99);e71(28,141);e71(28,189);e71(32,51);e71(32,99);e71(32,141);e71(32,189);e71(38,21);e71(38,69);e71(38,171);e71(38,219);e71(42,11);e71(42,59);e71(42,91);e71(42,101);e71(42,139);e71(42,149);e71(42,181);e71(42,229);e71(48,19);e71(48,29);e71(48,61);e71(48,109);e71(48,131);e71(48,179);e71(48,211);e71(48,221);e71(52,51);e71(52,99);e71(52,141);e71(52,189);e71(58,21);e71(58,69);e71(58,171);e71(58,219);break;
		case 41: e01(2,5);e01(2,85);e01(2,155);e01(2,235);e01(8,35);e01(8,115);e01(8,125);e01(8,205);e01(10,11);e01(10,59);e01(10,91);e01(10,101);e01(10,139);e01(10,149);e01(10,181);e01(10,229);e01(20,19);e01(20,29);e01(20,61);e01(20,109);e01(20,131);e01(20,179);e01(20,211);e01(20,221);e01(22,5);e01(22,85);e01(22,155);e01(22,235);e01(28,35);e01(28,115);e01(28,125);e01(28,205);e01(32,35);e01(32,115);e01(32,125);e01(32,205);e01(38,5);e01(38,85);e01(38,155);e01(38,235);e01(40,19);e01(40,29);e01(40,61);e01(40,109);e01(40,131);e01(40,179);e01(40,211);e01(40,221);e01(50,11);e01(50,59);e01(50,91);e01(50,101);e01(50,139);e01(50,149);e01(50,181);e01(50,229);e01(52,35);e01(52,115);e01(52,125);e01(52,205);e01(58,5);e01(58,85);e01(58,155);e01(58,235);e11(5,1);e11(5,31);e11(5,49);e11(5,79);e11(5,161);e11(5,191);e11(5,209);e11(5,239);e11(7,65);e11(7,95);e11(7,145);e11(7,175);e11(13,65);e11(13,95);e11(13,145);e11(13,175);e11(17,65);e11(17,95);e11(17,145);e11(17,175);e11(23,65);e11(23,95);e11(23,145);e11(23,175);e11(25,1);e11(25,31);e11(25,49);e11(25,79);e11(25,161);e11(25,191);e11(25,209);e11(25,239);e11(35,1);e11(35,31);e11(35,49);e11(35,79);e11(35,161);e11(35,191);e11(35,209);e11(35,239);e11(37,65);e11(37,95);e11(37,145);e11(37,175);e11(43,65);e11(43,95);e11(43,145);e11(43,175);e11(47,65);e11(47,95);e11(47,145);e11(47,175);e11(53,65);e11(53,95);e11(53,145);e11(53,175);e11(55,1);e11(55,31);e11(55,49);e11(55,79);e11(55,161);e11(55,191);e11(55,209);e11(55,239);e21(2,25);e21(2,55);e21(2,185);e21(2,215);e21(8,65);e21(8,95);e21(8,145);e21(8,175);e21(10,41);e21(10,71);e21(10,89);e21(10,119);e21(10,121);e21(10,151);e21(10,169);e21(10,199);e21(20,1);e21(20,31);e21(20,49);e21(20,79);e21(20,161);e21(20,191);e21(20,209);e21(20,239);e21(22,25);e21(22,55);e21(22,185);e21(22,215);e21(28,65);e21(28,95);e21(28,145);e21(28,175);e21(32,65);e21(32,95);e21(32,145);e21(32,175);e21(38,25);e21(38,55);e21(38,185);e21(38,215);e21(40,1);e21(40,31);e21(40,49);e21(40,79);e21(40,161);e21(40,191);e21(40,209);e21(40,239);e21(50,41);e21(50,71);e21(50,89);e21(50,119);e21(50,121);e21(50,151);e21(50,169);e21(50,199);e21(52,65);e21(52,95);e21(52,145);e21(52,175);e21(58,25);e21(58,55);e21(58,185);e21(58,215);e31(5,11);e31(5,59);e31(5,91);e31(5,101);e31(5,139);e31(5,149);e31(5,181);e31(5,229);e31(7,5);e31(7,85);e31(7,155);e31(7,235);e31(13,5);e31(13,85);e31(13,155);e31(13,235);e31(17,5);e31(17,85);e31(17,155);e31(17,235);e31(23,5);e31(23,85);e31(23,155);e31(23,235);e31(25,11);e31(25,59);e31(25,91);e31(25,101);e31(25,139);e31(25,149);e31(25,181);e31(25,229);e31(35,11);e31(35,59);e31(35,91);e31(35,101);e31(35,139);e31(35,149);e31(35,181);e31(35,229);e31(37,5);e31(37,85);e31(37,155);e31(37,235);e31(43,5);e31(43,85);e31(43,155);e31(43,235);e31(47,5);e31(47,85);e31(47,155);e31(47,235);e31(53,5);e31(53,85);e31(53,155);e31(53,235);e31(55,11);e31(55,59);e31(55,91);e31(55,101);e31(55,139);e31(55,149);e31(55,181);e31(55,229);e41(2,35);e41(2,115);e41(2,125);e41(2,205);e41(8,5);e41(8,85);e41(8,155);e41(8,235);e41(10,19);e41(10,29);e41(10,61);e41(10,109);e41(10,131);e41(10,179);e41(10,211);e41(10,221);e41(20,11);e41(20,59);e41(20,91);e41(20,101);e41(20,139);e41(20,149);e41(20,181);e41(20,229);e41(22,35);e41(22,115);e41(22,125);e41(22,205);e41(28,5);e41(28,85);e41(28,155);e41(28,235);e41(32,5);e41(32,85);e41(32,155);e41(32,235);e41(38,35);e41(38,115);e41(38,125);e41(38,205);e41(40,11);e41(40,59);e41(40,91);e41(40,101);e41(40,139);e41(40,149);e41(40,181);e41(40,229);e41(50,19);e41(50,29);e41(50,61);e41(50,109);e41(50,131);e41(50,179);e41(50,211);e41(50,221);e41(52,5);e41(52,85);e41(52,155);e41(52,235);e41(58,35);e41(58,115);e41(58,125);e41(58,205);e51(5,41);e51(5,71);e51(5,89);e51(5,119);e51(5,121);e51(5,151);e51(5,169);e51(5,199);e51(7,25);e51(7,55);e51(7,185);e51(7,215);e51(13,25);e51(13,55);e51(13,185);e51(13,215);e51(17,25);e51(17,55);e51(17,185);e51(17,215);e51(23,25);e51(23,55);e51(23,185);e51(23,215);e51(25,41);e51(25,71);e51(25,89);e51(25,119);e51(25,121);e51(25,151);e51(25,169);e51(25,199);e51(35,41);e51(35,71);e51(35,89);e51(35,119);e51(35,121);e51(35,151);e51(35,169);e51(35,199);e51(37,25);e51(37,55);e51(37,185);e51(37,215);e51(43,25);e51(43,55);e51(43,185);e51(43,215);e51(47,25);e51(47,55);e51(47,185);e51(47,215);e51(53,25);e51(53,55);e51(53,185);e51(53,215);e51(55,41);e51(55,71);e51(55,89);e51(55,119);e51(55,121);e51(55,151);e51(55,169);e51(55,199);e61(2,65);e61(2,95);e61(2,145);e61(2,175);e61(8,25);e61(8,55);e61(8,185);e61(8,215);e61(10,1);e61(10,31);e61(10,49);e61(10,79);e61(10,161);e61(10,191);e61(10,209);e61(10,239);e61(20,41);e61(20,71);e61(20,89);e61(20,119);e61(20,121);e61(20,151);e61(20,169);e61(20,199);e61(22,65);e61(22,95);e61(22,145);e61(22,175);e61(28,25);e61(28,55);e61(28,185);e61(28,215);e61(32,25);e61(32,55);e61(32,185);e61(32,215);e61(38,65);e61(38,95);e61(38,145);e61(38,175);e61(40,41);e61(40,71);e61(40,89);e61(40,119);e61(40,121);e61(40,151);e61(40,169);e61(40,199);e61(50,1);e61(50,31);e61(50,49);e61(50,79);e61(50,161);e61(50,191);e61(50,209);e61(50,239);e61(52,25);e61(52,55);e61(52,185);e61(52,215);e61(58,65);e61(58,95);e61(58,145);e61(58,175);e71(5,19);e71(5,29);e71(5,61);e71(5,109);e71(5,131);e71(5,179);e71(5,211);e71(5,221);e71(7,35);e71(7,115);e71(7,125);e71(7,205);e71(13,35);e71(13,115);e71(13,125);e71(13,205);e71(17,35);e71(17,115);e71(17,125);e71(17,205);e71(23,35);e71(23,115);e71(23,125);e71(23,205);e71(25,19);e71(25,29);e71(25,61);e71(25,109);e71(25,131);e71(25,179);e71(25,211);e71(25,221);e71(35,19);e71(35,29);e71(35,61);e71(35,109);e71(35,131);e71(35,179);e71(35,211);e71(35,221);e71(37,35);e71(37,115);e71(37,125);e71(37,205);e71(43,35);e71(43,115);e71(43,125);e71(43,205);e71(47,35);e71(47,115);e71(47,125);e71(47,205);e71(53,35);e71(53,115);e71(53,125);e71(53,205);e71(55,19);e71(55,29);e71(55,61);e71(55,109);e71(55,131);e71(55,179);e71(55,211);e71(55,221);break;
		case 49: e01(4,105);e01(4,135);e01(6,65);e01(6,95);e01(6,145);e01(6,175);e01(10,33);e01(10,63);e01(10,177);e01(10,207);e01(14,15);e01(14,225);e01(16,105);e01(16,135);e01(20,57);e01(20,87);e01(20,153);e01(20,183);e01(24,25);e01(24,55);e01(24,185);e01(24,215);e01(26,15);e01(26,225);e01(30,17);e01(30,47);e01(30,97);e01(30,113);e01(30,127);e01(30,143);e01(30,193);e01(30,223);e01(34,15);e01(34,225);e01(36,25);e01(36,55);e01(36,185);e01(36,215);e01(40,57);e01(40,87);e01(40,153);e01(40,183);e01(44,105);e01(44,135);e01(46,15);e01(46,225);e01(50,33);e01(50,63);e01(50,177);e01(50,207);e01(54,65);e01(54,95);e01(54,145);e01(54,175);e01(56,105);e01(56,135);e01(60,7);e01(60,23);e01(60,73);e01(60,103);e01(60,137);e01(60,167);e01(60,217);e01(60,233);e11(1,45);e11(1,195);e11(5,3);e11(5,93);e11(5,147);e11(5,237);e11(9,35);e11(9,115);e11(9,125);e11(9,205);e11(11,45);e11(11,195);e11(15,13);e11(15,67);e11(15,77);e11(15,83);e11(15,157);e11(15,163);e11(15,173);e11(15,227);e11(19,45);e11(19,195);e11(21,35);e11(21,115);e11(21,125);e11(21,205);e11(25,3);e11(25,93);e11(25,147);e11(25,237);e11(29,45);e11(29,195);e11(31,45);e11(31,195);e11(35,3);e11(35,93);e11(35,147);e11(35,237);e11(39,35);e11(39,115);e11(39,125);e11(39,205);e11(41,45);e11(41,195);e11(45,13);e11(45,67);e11(45,77);e11(45,83);e11(45,157);e11(45,163);e11(45,173);e11(45,227);e11(49,45);e11(49,195);e11(51,35);e11(51,115);e11(51,125);e11(51,205);e11(55,3);e11(55,93);e11(55,147);e11(55,237);e11(59,45);e11(59,195);e21(4,45);e21(4,195);e21(6,5);e21(6,85);e21(6,155);e21(6,235);e21(10,27);e21(10,117);e21(10,123);e21(10,213);e21(14,75);e21(14,165);e21(16,45);e21(16,195);e21(20,3);e21(20,93);e21(20,147);e21(20,237);e21(24,35);e21(24,115);e21(24,125);e21(24,205);e21(26,75);e21(26,165);e21(30,37);e21(30,43);e21(30,53);e21(30,107);e21(30,133);e21(30,187);e21(30,197);e21(30,203);e21(34,75);e21(34,165);e21(36,35);e21(36,115);e21(36,125);e21(36,205);e21(40,3);e21(40,93);e21(40,147);e21(40,237);e21(44,45);e21(44,195);e21(46,75);e21(46,165);e21(50,27);e21(50,117);e21(50,123);e21(50,213);e21(54,5);e21(54,85);e21(54,155);e21(54,235);e21(56,45);e21(56,195);e21(60,13);e21(60,67);e21(60,77);e21(60,83);e21(60,157);e21(60,163);e21(60,173);e21(60,227);e31(1,15);e31(1,225);e31(5,33);e31(5,63);e31(5,177);e31(5,207);e31(9,65);e31(9,95);e31(9,145);e31(9,175);e31(11,15);e31(11,225);e31(15,17);e31(15,47);e31(15,97);e31(15,113);e31(15,127);e31(15,143);e31(15,193);e31(15,223);e31(19,15);e31(19,225);e31(21,65);e31(21,95);e31(21,145);e31(21,175);e31(25,33);e31(25,63);e31(25,177);e31(25,207);e31(29,15);e31(29,225);e31(31,15);e31(31,225);e31(35,33);e31(35,63);e31(35,177);e31(35,207);e31(39,65);e31(39,95);e31(39,145);e31(39,175);e31(41,15);e31(41,225);e31(45,17);e31(45,47);e31(45,97);e31(45,113);e31(45,127);e31(45,143);e31(45,193);e31(45,223);e31(49,15);e31(49,225);e31(51,65);e31(51,95);e31(51,145);e31(51,175);e31(55,33);e31(55,63);e31(55,177);e31(55,207);e31(59,15);e31(59,225);e41(4,15);e41(4,225);e41(6,25);e41(6,55);e41(6,185);e41(6,215);e41(10,57);e41(10,87);e41(10,153);e41(10,183);e41(14,105);e41(14,135);e41(16,15);e41(16,225);e41(20,33);e41(20,63);e41(20,177);e41(20,207);e41(24,65);e41(24,95);e41(24,145);e41(24,175);e41(26,105);e41(26,135);e41(30,7);e41(30,23);e41(30,73);e41(30,103);e41(30,137);e41(30,167);e41(30,217);e41(30,233);e41(34,105);e41(34,135);e41(36,65);e41(36,95);e41(36,145);e41(36,175);e41(40,33);e41(40,63);e41(40,177);e41(40,207);e41(44,15);e41(44,225);e41(46,105);e41(46,135);e41(50,57);e41(50,87);e41(50,153);e41(50,183);e41(54,25);e41(54,55);e41(54,185);e41(54,215);e41(56,15);e41(56,225);e41(60,17);e41(60,47);e41(60,97);e41(60,113);e41(60,127);e41(60,143);e41(60,193);e41(60,223);e51(1,75);e51(1,165);e51(5,27);e51(5,117);e51(5,123);e51(5,213);e51(9,5);e51(9,85);e51(9,155);e51(9,235);e51(11,75);e51(11,165);e51(15,37);e51(15,43);e51(15,53);e51(15,107);e51(15,133);e51(15,187);e51(15,197);e51(15,203);e51(19,75);e51(19,165);e51(21,5);e51(21,85);e51(21,155);e51(21,235);e51(25,27);e51(25,117);e51(25,123);e51(25,213);e51(29,75);e51(29,165);e51(31,75);e51(31,165);e51(35,27);e51(35,117);e51(35,123);e51(35,213);e51(39,5);e51(39,85);e51(39,155);e51(39,235);e51(41,75);e51(41,165);e51(45,37);e51(45,43);e51(45,53);e51(45,107);e51(45,133);e51(45,187);e51(45,197);e51(45,203);e51(49,75);e51(49,165);e51(51,5);e51(51,85);e51(51,155);e51(51,235);e51(55,27);e51(55,117);e51(55,123);e51(55,213);e51(59,75);e51(59,165);e61(4,75);e61(4,165);e61(6,35);e61(6,115);e61(6,125);e61(6,205);e61(10,3);e61(10,93);e61(10,147);e61(10,237);e61(14,45);e61(14,195);e61(16,75);e61(16,165);e61(20,27);e61(20,117);e61(20,123);e61(20,213);e61(24,5);e61(24,85);e61(24,155);e61(24,235);e61(26,45);e61(26,195);e61(30,13);e61(30,67);e61(30,77);e61(30,83);e61(30,157);e61(30,163);e61(30,173);e61(30,227);e61(34,45);e61(34,195);e61(36,5);e61(36,85);e61(36,155);e61(36,235);e61(40,27);e61(40,117);e61(40,123);e61(40,213);e61(44,75);e61(44,165);e61(46,45);e61(46,195);e61(50,3);e61(50,93);e61(50,147);e61(50,237);e61(54,35);e61(54,115);e61(54,125);e61(54,205);e61(56,75);e61(56,165);e61(60,37);e61(60,43);e61(60,53);e61(60,107);e61(60,133);e61(60,187);e61(60,197);e61(60,203);e71(1,105);e71(1,135);e71(5,57);e71(5,87);e71(5,153);e71(5,183);e71(9,25);e71(9,55);e71(9,185);e71(9,215);e71(11,105);e71(11,135);e71(15,7);e71(15,23);e71(15,73);e71(15,103);e71(15,137);e71(15,167);e71(15,217);e71(15,233);e71(19,105);e71(19,135);e71(21,25);e71(21,55);e71(21,185);e71(21,215);e71(25,57);e71(25,87);e71(25,153);e71(25,183);e71(29,105);e71(29,135);e71(31,105);e71(31,135);e71(35,57);e71(35,87);e71(35,153);e71(35,183);e71(39,25);e71(39,55);e71(39,185);e71(39,215);e71(41,105);e71(41,135);e71(45,7);e71(45,23);e71(45,73);e71(45,103);e71(45,137);e71(45,167);e71(45,217);e71(45,233);e71(49,105);e71(49,135);e71(51,25);e71(51,55);e71(51,185);e71(51,215);e71(55,57);e71(55,87);e71(55,153);e71(55,183);e71(59,105);e71(59,135);break;
		case 53: e01(1,7);e01(1,23);e01(1,73);e01(1,103);e01(1,137);e01(1,167);e01(1,217);e01(1,233);e01(11,7);e01(11,23);e01(11,73);e01(11,103);e01(11,137);e01(11,167);e01(11,217);e01(11,233);e01(19,7);e01(19,23);e01(19,73);e01(19,103);e01(19,137);e01(19,167);e01(19,217);e01(19,233);e01(29,7);e01(29,23);e01(29,73);e01(29,103);e01(29,137);e01(29,167);e01(29,217);e01(29,233);e01(31,7);e01(31,23);e01(31,73);e01(31,103);e01(31,137);e01(31,167);e01(31,217);e01(31,233);e01(41,7);e01(41,23);e01(41,73);e01(41,103);e01(41,137);e01(41,167);e01(41,217);e01(41,233);e01(49,7);e01(49,23);e01(49,73);e01(49,103);e01(49,137);e01(49,167);e01(49,217);e01(49,233);e01(59,7);e01(59,23);e01(59,73);e01(59,103);e01(59,137);e01(59,167);e01(59,217);e01(59,233);e11(4,7);e11(4,23);e11(4,73);e11(4,103);e11(4,137);e11(4,167);e11(4,217);e11(4,233);e11(14,17);e11(14,47);e11(14,97);e11(14,113);e11(14,127);e11(14,143);e11(14,193);e11(14,223);e11(16,7);e11(16,23);e11(16,73);e11(16,103);e11(16,137);e11(16,167);e11(16,217);e11(16,233);e11(26,17);e11(26,47);e11(26,97);e11(26,113);e11(26,127);e11(26,143);e11(26,193);e11(26,223);e11(34,17);e11(34,47);e11(34,97);e11(34,113);e11(34,127);e11(34,143);e11(34,193);e11(34,223);e11(44,7);e11(44,23);e11(44,73);e11(44,103);e11(44,137);e11(44,167);e11(44,217);e11(44,233);e11(46,17);e11(46,47);e11(46,97);e11(46,113);e11(46,127);e11(46,143);e11(46,193);e11(46,223);e11(56,7);e11(56,23);e11(56,73);e11(56,103);e11(56,137);e11(56,167);e11(56,217);e11(56,233);e21(1,13);e21(1,67);e21(1,77);e21(1,83);e21(1,157);e21(1,163);e21(1,173);e21(1,227);e21(11,13);e21(11,67);e21(11,77);e21(11,83);e21(11,157);e21(11,163);e21(11,173);e21(11,227);e21(19,13);e21(19,67);e21(19,77);e21(19,83);e21(19,157);e21(19,163);e21(19,173);e21(19,227);e21(29,13);e21(29,67);e21(29,77);e21(29,83);e21(29,157);e21(29,163);e21(29,173);e21(29,227);e21(31,13);e21(31,67);e21(31,77);e21(31,83);e21(31,157);e21(31,163);e21(31,173);e21(31,227);e21(41,13);e21(41,67);e21(41,77);e21(41,83);e21(41,157);e21(41,163);e21(41,173);e21(41,227);e21(49,13);e21(49,67);e21(49,77);e21(49,83);e21(49,157);e21(49,163);e21(49,173);e21(49,227);e21(59,13);e21(59,67);e21(59,77);e21(59,83);e21(59,157);e21(59,163);e21(59,173);e21(59,227);e31(4,13);e31(4,67);e31(4,77);e31(4,83);e31(4,157);e31(4,163);e31(4,173);e31(4,227);e31(14,37);e31(14,43);e31(14,53);e31(14,107);e31(14,133);e31(14,187);e31(14,197);e31(14,203);e31(16,13);e31(16,67);e31(16,77);e31(16,83);e31(16,157);e31(16,163);e31(16,173);e31(16,227);e31(26,37);e31(26,43);e31(26,53);e31(26,107);e31(26,133);e31(26,187);e31(26,197);e31(26,203);e31(34,37);e31(34,43);e31(34,53);e31(34,107);e31(34,133);e31(34,187);e31(34,197);e31(34,203);e31(44,13);e31(44,67);e31(44,77);e31(44,83);e31(44,157);e31(44,163);e31(44,173);e31(44,227);e31(46,37);e31(46,43);e31(46,53);e31(46,107);e31(46,133);e31(46,187);e31(46,197);e31(46,203);e31(56,13);e31(56,67);e31(56,77);e31(56,83);e31(56,157);e31(56,163);e31(56,173);e31(56,227);e41(1,17);e41(1,47);e41(1,97);e41(1,113);e41(1,127);e41(1,143);e41(1,193);e41(1,223);e41(11,17);e41(11,47);e41(11,97);e41(11,113);e41(11,127);e41(11,143);e41(11,193);e41(11,223);e41(19,17);e41(19,47);e41(19,97);e41(19,113);e41(19,127);e41(19,143);e41(19,193);e41(19,223);e41(29,17);e41(29,47);e41(29,97);e41(29,113);e41(29,127);e41(29,143);e41(29,193);e41(29,223);e41(31,17);e41(31,47);e41(31,97);e41(31,113);e41(31,127);e41(31,143);e41(31,193);e41(31,223);e41(41,17);e41(41,47);e41(41,97);e41(41,113);e41(41,127);e41(41,143);e41(41,193);e41(41,223);e41(49,17);e41(49,47);e41(49,97);e41(49,113);e41(49,127);e41(49,143);e41(49,193);e41(49,223);e41(59,17);e41(59,47);e41(59,97);e41(59,113);e41(59,127);e41(59,143);e41(59,193);e41(59,223);e51(4,17);e51(4,47);e51(4,97);e51(4,113);e51(4,127);e51(4,143);e51(4,193);e51(4,223);e51(14,7);e51(14,23);e51(14,73);e51(14,103);e51(14,137);e51(14,167);e51(14,217);e51(14,233);e51(16,17);e51(16,47);e51(16,97);e51(16,113);e51(16,127);e51(16,143);e51(16,193);e51(16,223);e51(26,7);e51(26,23);e51(26,73);e51(26,103);e51(26,137);e51(26,167);e51(26,217);e51(26,233);e51(34,7);e51(34,23);e51(34,73);e51(34,103);e51(34,137);e51(34,167);e51(34,217);e51(34,233);e51(44,17);e51(44,47);e51(44,97);e51(44,113);e51(44,127);e51(44,143);e51(44,193);e51(44,223);e51(46,7);e51(46,23);e51(46,73);e51(46,103);e51(46,137);e51(46,167);e51(46,217);e51(46,233);e51(56,17);e51(56,47);e51(56,97);e51(56,113);e51(56,127);e51(56,143);e51(56,193);e51(56,223);e61(1,37);e61(1,43);e61(1,53);e61(1,107);e61(1,133);e61(1,187);e61(1,197);e61(1,203);e61(11,37);e61(11,43);e61(11,53);e61(11,107);e61(11,133);e61(11,187);e61(11,197);e61(11,203);e61(19,37);e61(19,43);e61(19,53);e61(19,107);e61(19,133);e61(19,187);e61(19,197);e61(19,203);e61(29,37);e61(29,43);e61(29,53);e61(29,107);e61(29,133);e61(29,187);e61(29,197);e61(29,203);e61(31,37);e61(31,43);e61(31,53);e61(31,107);e61(31,133);e61(31,187);e61(31,197);e61(31,203);e61(41,37);e61(41,43);e61(41,53);e61(41,107);e61(41,133);e61(41,187);e61(41,197);e61(41,203);e61(49,37);e61(49,43);e61(49,53);e61(49,107);e61(49,133);e61(49,187);e61(49,197);e61(49,203);e61(59,37);e61(59,43);e61(59,53);e61(59,107);e61(59,133);e61(59,187);e61(59,197);e61(59,203);e71(4,37);e71(4,43);e71(4,53);e71(4,107);e71(4,133);e71(4,187);e71(4,197);e71(4,203);e71(14,13);e71(14,67);e71(14,77);e71(14,83);e71(14,157);e71(14,163);e71(14,173);e71(14,227);e71(16,37);e71(16,43);e71(16,53);e71(16,107);e71(16,133);e71(16,187);e71(16,197);e71(16,203);e71(26,13);e71(26,67);e71(26,77);e71(26,83);e71(26,157);e71(26,163);e71(26,173);e71(26,227);e71(34,13);e71(34,67);e71(34,77);e71(34,83);e71(34,157);e71(34,163);e71(34,173);e71(34,227);e71(44,37);e71(44,43);e71(44,53);e71(44,107);e71(44,133);e71(44,187);e71(44,197);e71(44,203);e71(46,13);e71(46,67);e71(46,77);e71(46,83);e71(46,157);e71(46,163);e71(46,173);e71(46,227);e71(56,37);e71(56,43);e71(56,53);e71(56,107);e71(56,133);e71(56,187);e71(56,197);e71(56,203);break;
		case 7: e02(1,2);e02(1,22);e02(1,38);e02(1,58);e02(1,62);e02(1,82);e02(1,98);e02(1,118);e02(1,122);e02(1,142);e02(1,158);e02(1,178);e02(1,182);e02(1,202);e02(1,218);e02(1,238);e02(17,10);e02(17,50);e02(17,70);e02(17,110);e02(17,130);e02(17,170);e02(17,190);e02(17,230);e02(31,2);e02(31,22);e02(31,38);e02(31,58);e02(31,62);e02(31,82);e02(31,98);e02(31,118);e02(31,122);e02(31,142);e02(31,158);e02(31,178);e02(31,182);e02(31,202);e02(31,218);e02(31,238);e02(33,10);e02(33,50);e02(33,70);e02(33,110);e02(33,130);e02(33,170);e02(33,190);e02(33,230);e02(47,10);e02(47,50);e02(47,70);e02(47,110);e02(47,130);e02(47,170);e02(47,190);e02(47,230);e02(49,2);e02(49,22);e02(49,38);e02(49,58);e02(49,62);e02(49,82);e02(49,98);e02(49,118);e02(49,122);e02(49,142);e02(49,158);e02(49,178);e02(49,182);e02(49,202);e02(49,218);e02(49,238);e02(63,10);e02(63,50);e02(63,70);e02(63,110);e02(63,130);e02(63,170);e02(63,190);e02(63,230);e02(79,2);e02(79,22);e02(79,38);e02(79,58);e02(79,62);e02(79,82);e02(79,98);e02(79,118);e02(79,122);e02(79,142);e02(79,158);e02(79,178);e02(79,182);e02(79,202);e02(79,218);e02(79,238);e12(1,8);e12(1,32);e12(1,88);e12(1,112);e12(1,128);e12(1,152);e12(1,208);e12(1,232);e12(7,20);e12(7,100);e12(7,140);e12(7,220);e12(9,28);e12(9,52);e12(9,68);e12(9,92);e12(9,148);e12(9,172);e12(9,188);e12(9,212);e12(17,40);e12(17,80);e12(17,160);e12(17,200);e12(23,20);e12(23,100);e12(23,140);e12(23,220);e12(31,8);e12(31,32);e12(31,88);e12(31,112);e12(31,128);e12(31,152);e12(31,208);e12(31,232);e12(33,40);e12(33,80);e12(33,160);e12(33,200);e12(39,28);e12(39,52);e12(39,68);e12(39,92);e12(39,148);e12(39,172);e12(39,188);e12(39,212);e12(41,28);e12(41,52);e12(41,68);e12(41,92);e12(41,148);e12(41,172);e12(41,188);e12(41,212);e12(47,40);e12(47,80);e12(47,160);e12(47,200);e12(49,8);e12(49,32);e12(49,88);e12(49,112);e12(49,128);e12(49,152);e12(49,208);e12(49,232);e12(57,20);e12(57,100);e12(57,140);e12(57,220);e12(63,40);e12(63,80);e12(63,160);e12(63,200);e12(71,28);e12(71,52);e12(71,68);e12(71,92);e12(71,148);e12(71,172);e12(71,188);e12(71,212);e12(73,20);e12(73,100);e12(73,140);e12(73,220);e12(79,8);e12(79,32);e12(79,88);e12(79,112);e12(79,128);e12(79,152);e12(79,208);e12(79,232);e22(3,10);e22(3,50);e22(3,70);e22(3,110);e22(3,130);e22(3,170);e22(3,190);e22(3,230);e22(13,10);e22(13,50);e22(13,70);e22(13,110);e22(13,130);e22(13,170);e22(13,190);e22(13,230);e22(19,2);e22(19,22);e22(19,38);e22(19,58);e22(19,62);e22(19,82);e22(19,98);e22(19,118);e22(19,122);e22(19,142);e22(19,158);e22(19,178);e22(19,182);e22(19,202);e22(19,218);e22(19,238);e22(29,2);e22(29,22);e22(29,38);e22(29,58);e22(29,62);e22(29,82);e22(29,98);e22(29,118);e22(29,122);e22(29,142);e22(29,158);e22(29,178);e22(29,182);e22(29,202);e22(29,218);e22(29,238);e22(51,2);e22(51,22);e22(51,38);e22(51,58);e22(51,62);e22(51,82);e22(51,98);e22(51,118);e22(51,122);e22(51,142);e22(51,158);e22(51,178);e22(51,182);e22(51,202);e22(51,218);e22(51,238);e22(61,2);e22(61,22);e22(61,38);e22(61,58);e22(61,62);e22(61,82);e22(61,98);e22(61,118);e22(61,122);e22(61,142);e22(61,158);e22(61,178);e22(61,182);e22(61,202);e22(61,218);e22(61,238);e22(67,10);e22(67,50);e22(67,70);e22(67,110);e22(67,130);e22(67,170);e22(67,190);e22(67,230);e22(77,10);e22(77,50);e22(77,70);e22(77,110);e22(77,130);e22(77,170);e22(77,190);e22(77,230);e32(3,40);e32(3,80);e32(3,160);e32(3,200);e32(11,28);e32(11,52);e32(11,68);e32(11,92);e32(11,148);e32(11,172);e32(11,188);e32(11,212);e32(13,40);e32(13,80);e32(13,160);e32(13,200);e32(19,8);e32(19,32);e32(19,88);e32(19,112);e32(19,128);e32(19,152);e32(19,208);e32(19,232);e32(21,28);e32(21,52);e32(21,68);e32(21,92);e32(21,148);e32(21,172);e32(21,188);e32(21,212);e32(27,20);e32(27,100);e32(27,140);e32(27,220);e32(29,8);e32(29,32);e32(29,88);e32(29,112);e32(29,128);e32(29,152);e32(29,208);e32(29,232);e32(37,20);e32(37,100);e32(37,140);e32(37,220);e32(43,20);e32(43,100);e32(43,140);e32(43,220);e32(51,8);e32(51,32);e32(51,88);e32(51,112);e32(51,128);e32(51,152);e32(51,208);e32(51,232);e32(53,20);e32(53,100);e32(53,140);e32(53,220);e32(59,28);e32(59,52);e32(59,68);e32(59,92);e32(59,148);e32(59,172);e32(59,188);e32(59,212);e32(61,8);e32(61,32);e32(61,88);e32(61,112);e32(61,128);e32(61,152);e32(61,208);e32(61,232);e32(67,40);e32(67,80);e32(67,160);e32(67,200);e32(69,28);e32(69,52);e32(69,68);e32(69,92);e32(69,148);e32(69,172);e32(69,188);e32(69,212);e32(77,40);e32(77,80);e32(77,160);e32(77,200);e42(7,10);e42(7,50);e42(7,70);e42(7,110);e42(7,130);e42(7,170);e42(7,190);e42(7,230);e42(9,2);e42(9,22);e42(9,38);e42(9,58);e42(9,62);e42(9,82);e42(9,98);e42(9,118);e42(9,122);e42(9,142);e42(9,158);e42(9,178);e42(9,182);e42(9,202);e42(9,218);e42(9,238);e42(23,10);e42(23,50);e42(23,70);e42(23,110);e42(23,130);e42(23,170);e42(23,190);e42(23,230);e42(39,2);e42(39,22);e42(39,38);e42(39,58);e42(39,62);e42(39,82);e42(39,98);e42(39,118);e42(39,122);e42(39,142);e42(39,158);e42(39,178);e42(39,182);e42(39,202);e42(39,218);e42(39,238);e42(41,2);e42(41,22);e42(41,38);e42(41,58);e42(41,62);e42(41,82);e42(41,98);e42(41,118);e42(41,122);e42(41,142);e42(41,158);e42(41,178);e42(41,182);e42(41,202);e42(41,218);e42(41,238);e42(57,10);e42(57,50);e42(57,70);e42(57,110);e42(57,130);e42(57,170);e42(57,190);e42(57,230);e42(71,2);e42(71,22);e42(71,38);e42(71,58);e42(71,62);e42(71,82);e42(71,98);e42(71,118);e42(71,122);e42(71,142);e42(71,158);e42(71,178);e42(71,182);e42(71,202);e42(71,218);e42(71,238);e42(73,10);e42(73,50);e42(73,70);e42(73,110);e42(73,130);e42(73,170);e42(73,190);e42(73,230);e52(1,28);e52(1,52);e52(1,68);e52(1,92);e52(1,148);e52(1,172);e52(1,188);e52(1,212);e52(7,40);e52(7,80);e52(7,160);e52(7,200);e52(9,8);e52(9,32);e52(9,88);e52(9,112);e52(9,128);e52(9,152);e52(9,208);e52(9,232);e52(17,20);e52(17,100);e52(17,140);e52(17,220);e52(23,40);e52(23,80);e52(23,160);e52(23,200);e52(31,28);e52(31,52);e52(31,68);e52(31,92);e52(31,148);e52(31,172);e52(31,188);e52(31,212);e52(33,20);e52(33,100);e52(33,140);e52(33,220);e52(39,8);e52(39,32);e52(39,88);e52(39,112);e52(39,128);e52(39,152);e52(39,208);e52(39,232);e52(41,8);e52(41,32);e52(41,88);e52(41,112);e52(41,128);e52(41,152);e52(41,208);e52(41,232);e52(47,20);e52(47,100);e52(47,140);e52(47,220);e52(49,28);e52(49,52);e52(49,68);e52(49,92);e52(49,148);e52(49,172);e52(49,188);e52(49,212);e52(57,40);e52(57,80);e52(57,160);e52(57,200);e52(63,20);e52(63,100);e52(63,140);e52(63,220);e52(71,8);e52(71,32);e52(71,88);e52(71,112);e52(71,128);e52(71,152);e52(71,208);e52(71,232);e52(73,40);e52(73,80);e52(73,160);e52(73,200);e52(79,28);e52(79,52);e52(79,68);e52(79,92);e52(79,148);e52(79,172);e52(79,188);e52(79,212);e62(11,2);e62(11,22);e62(11,38);e62(11,58);e62(11,62);e62(11,82);e62(11,98);e62(11,118);e62(11,122);e62(11,142);e62(11,158);e62(11,178);e62(11,182);e62(11,202);e62(11,218);e62(11,238);e62(21,2);e62(21,22);e62(21,38);e62(21,58);e62(21,62);e62(21,82);e62(21,98);e62(21,118);e62(21,122);e62(21,142);e62(21,158);e62(21,178);e62(21,182);e62(21,202);e62(21,218);e62(21,238);e62(27,10);e62(27,50);e62(27,70);e62(27,110);e62(27,130);e62(27,170);e62(27,190);e62(27,230);e62(37,10);e62(37,50);e62(37,70);e62(37,110);e62(37,130);e62(37,170);e62(37,190);e62(37,230);e62(43,10);e62(43,50);e62(43,70);e62(43,110);e62(43,130);e62(43,170);e62(43,190);e62(43,230);e62(53,10);e62(53,50);e62(53,70);e62(53,110);e62(53,130);e62(53,170);e62(53,190);e62(53,230);e62(59,2);e62(59,22);e62(59,38);e62(59,58);e62(59,62);e62(59,82);e62(59,98);e62(59,118);e62(59,122);e62(59,142);e62(59,158);e62(59,178);e62(59,182);e62(59,202);e62(59,218);e62(59,238);e62(69,2);e62(69,22);e62(69,38);e62(69,58);e62(69,62);e62(69,82);e62(69,98);e62(69,118);e62(69,122);e62(69,142);e62(69,158);e62(69,178);e62(69,182);e62(69,202);e62(69,218);e62(69,238);e72(3,20);e72(3,100);e72(3,140);e72(3,220);e72(11,8);e72(11,32);e72(11,88);e72(11,112);e72(11,128);e72(11,152);e72(11,208);e72(11,232);e72(13,20);e72(13,100);e72(13,140);e72(13,220);e72(19,28);e72(19,52);e72(19,68);e72(19,92);e72(19,148);e72(19,172);e72(19,188);e72(19,212);e72(21,8);e72(21,32);e72(21,88);e72(21,112);e72(21,128);e72(21,152);e72(21,208);e72(21,232);e72(27,40);e72(27,80);e72(27,160);e72(27,200);e72(29,28);e72(29,52);e72(29,68);e72(29,92);e72(29,148);e72(29,172);e72(29,188);e72(29,212);e72(37,40);e72(37,80);e72(37,160);e72(37,200);e72(43,40);e72(43,80);e72(43,160);e72(43,200);e72(51,28);e72(51,52);e72(51,68);e72(51,92);e72(51,148);e72(51,172);e72(51,188);e72(51,212);e72(53,40);e72(53,80);e72(53,160);e72(53,200);e72(59,8);e72(59,32);e72(59,88);e72(59,112);e72(59,128);e72(59,152);e72(59,208);e72(59,232);e72(61,28);e72(61,52);e72(61,68);e72(61,92);e72(61,148);e72(61,172);e72(61,188);e72(61,212);e72(67,20);e72(67,100);e72(67,140);e72(67,220);e72(69,8);e72(69,32);e72(69,88);e72(69,112);e72(69,128);e72(69,152);e72(69,208);e72(69,232);e72(77,20);e72(77,100);e72(77,140);e72(77,220);break;
		case 19: e02(1,4);e02(1,44);e02(1,76);e02(1,116);e02(1,124);e02(1,164);e02(1,196);e02(1,236);e02(9,16);e02(9,56);e02(9,64);e02(9,104);e02(9,136);e02(9,176);e02(9,184);e02(9,224);e02(15,28);e02(15,52);e02(15,68);e02(15,92);e02(15,148);e02(15,172);e02(15,188);e02(15,212);e02(25,8);e02(25,32);e02(25,88);e02(25,112);e02(25,128);e02(25,152);e02(25,208);e02(25,232);e02(31,4);e02(31,44);e02(31,76);e02(31,116);e02(31,124);e02(31,164);e02(31,196);e02(31,236);e02(39,16);e02(39,56);e02(39,64);e02(39,104);e02(39,136);e02(39,176);e02(39,184);e02(39,224);e02(41,16);e02(41,56);e02(41,64);e02(41,104);e02(41,136);e02(41,176);e02(41,184);e02(41,224);e02(49,4);e02(49,44);e02(49,76);e02(49,116);e02(49,124);e02(49,164);e02(49,196);e02(49,236);e02(55,8);e02(55,32);e02(55,88);e02(55,112);e02(55,128);e02(55,152);e02(55,208);e02(55,232);e02(65,28);e02(65,52);e02(65,68);e02(65,92);e02(65,148);e02(65,172);e02(65,188);e02(65,212);e02(71,16);e02(71,56);e02(71,64);e02(71,104);e02(71,136);e02(71,176);e02(71,184);e02(71,224);e02(79,4);e02(79,44);e02(79,76);e02(79,116);e02(79,124);e02(79,164);e02(79,196);e02(79,236);e12(5,2);e12(5,22);e12(5,38);e12(5,58);e12(5,62);e12(5,82);e12(5,98);e12(5,118);e12(5,122);e12(5,142);e12(5,158);e12(5,178);e12(5,182);e12(5,202);e12(5,218);e12(5,238);e12(11,14);e12(11,26);e12(11,34);e12(11,46);e12(11,74);e12(11,86);e12(11,94);e12(11,106);e12(11,134);e12(11,146);e12(11,154);e12(11,166);e12(11,194);e12(11,206);e12(11,214);e12(11,226);e12(21,14);e12(21,26);e12(21,34);e12(21,46);e12(21,74);e12(21,86);e12(21,94);e12(21,106);e12(21,134);e12(21,146);e12(21,154);e12(21,166);e12(21,194);e12(21,206);e12(21,214);e12(21,226);e12(59,14);e12(59,26);e12(59,34);e12(59,46);e12(59,74);e12(59,86);e12(59,94);e12(59,106);e12(59,134);e12(59,146);e12(59,154);e12(59,166);e12(59,194);e12(59,206);e12(59,214);e12(59,226);e12(69,14);e12(69,26);e12(69,34);e12(69,46);e12(69,74);e12(69,86);e12(69,94);e12(69,106);e12(69,134);e12(69,146);e12(69,154);e12(69,166);e12(69,194);e12(69,206);e12(69,214);e12(69,226);e12(75,2);e12(75,22);e12(75,38);e12(75,58);e12(75,62);e12(75,82);e12(75,98);e12(75,118);e12(75,122);e12(75,142);e12(75,158);e12(75,178);e12(75,182);e12(75,202);e12(75,218);e12(75,238);e22(5,8);e22(5,32);e22(5,88);e22(5,112);e22(5,128);e22(5,152);e22(5,208);e22(5,232);e22(11,16);e22(11,56);e22(11,64);e22(11,104);e22(11,136);e22(11,176);e22(11,184);e22(11,224);e22(19,4);e22(19,44);e22(19,76);e22(19,116);e22(19,124);e22(19,164);e22(19,196);e22(19,236);e22(21,16);e22(21,56);e22(21,64);e22(21,104);e22(21,136);e22(21,176);e22(21,184);e22(21,224);e22(29,4);e22(29,44);e22(29,76);e22(29,116);e22(29,124);e22(29,164);e22(29,196);e22(29,236);e22(35,28);e22(35,52);e22(35,68);e22(35,92);e22(35,148);e22(35,172);e22(35,188);e22(35,212);e22(45,28);e22(45,52);e22(45,68);e22(45,92);e22(45,148);e22(45,172);e22(45,188);e22(45,212);e22(51,4);e22(51,44);e22(51,76);e22(51,116);e22(51,124);e22(51,164);e22(51,196);e22(51,236);e22(59,16);e22(59,56);e22(59,64);e22(59,104);e22(59,136);e22(59,176);e22(59,184);e22(59,224);e22(61,4);e22(61,44);e22(61,76);e22(61,116);e22(61,124);e22(61,164);e22(61,196);e22(61,236);e22(69,16);e22(69,56);e22(69,64);e22(69,104);e22(69,136);e22(69,176);e22(69,184);e22(69,224);e22(75,8);e22(75,32);e22(75,88);e22(75,112);e22(75,128);e22(75,152);e22(75,208);e22(75,232);e32(1,14);e32(1,26);e32(1,34);e32(1,46);e32(1,74);e32(1,86);e32(1,94);e32(1,106);e32(1,134);e32(1,146);e32(1,154);e32(1,166);e32(1,194);e32(1,206);e32(1,214);e32(1,226);e32(15,2);e32(15,22);e32(15,38);e32(15,58);e32(15,62);e32(15,82);e32(15,98);e32(15,118);e32(15,122);e32(15,142);e32(15,158);e32(15,178);e32(15,182);e32(15,202);e32(15,218);e32(15,238);e32(31,14);e32(31,26);e32(31,34);e32(31,46);e32(31,74);e32(31,86);e32(31,94);e32(31,106);e32(31,134);e32(31,146);e32(31,154);e32(31,166);e32(31,194);e32(31,206);e32(31,214);e32(31,226);e32(49,14);e32(49,26);e32(49,34);e32(49,46);e32(49,74);e32(49,86);e32(49,94);e32(49,106);e32(49,134);e32(49,146);e32(49,154);e32(49,166);e32(49,194);e32(49,206);e32(49,214);e32(49,226);e32(65,2);e32(65,22);e32(65,38);e32(65,58);e32(65,62);e32(65,82);e32(65,98);e32(65,118);e32(65,122);e32(65,142);e32(65,158);e32(65,178);e32(65,182);e32(65,202);e32(65,218);e32(65,238);e32(79,14);e32(79,26);e32(79,34);e32(79,46);e32(79,74);e32(79,86);e32(79,94);e32(79,106);e32(79,134);e32(79,146);e32(79,154);e32(79,166);e32(79,194);e32(79,206);e32(79,214);e32(79,226);e42(1,16);e42(1,56);e42(1,64);e42(1,104);e42(1,136);e42(1,176);e42(1,184);e42(1,224);e42(9,4);e42(9,44);e42(9,76);e42(9,116);e42(9,124);e42(9,164);e42(9,196);e42(9,236);e42(15,8);e42(15,32);e42(15,88);e42(15,112);e42(15,128);e42(15,152);e42(15,208);e42(15,232);e42(25,28);e42(25,52);e42(25,68);e42(25,92);e42(25,148);e42(25,172);e42(25,188);e42(25,212);e42(31,16);e42(31,56);e42(31,64);e42(31,104);e42(31,136);e42(31,176);e42(31,184);e42(31,224);e42(39,4);e42(39,44);e42(39,76);e42(39,116);e42(39,124);e42(39,164);e42(39,196);e42(39,236);e42(41,4);e42(41,44);e42(41,76);e42(41,116);e42(41,124);e42(41,164);e42(41,196);e42(41,236);e42(49,16);e42(49,56);e42(49,64);e42(49,104);e42(49,136);e42(49,176);e42(49,184);e42(49,224);e42(55,28);e42(55,52);e42(55,68);e42(55,92);e42(55,148);e42(55,172);e42(55,188);e42(55,212);e42(65,8);e42(65,32);e42(65,88);e42(65,112);e42(65,128);e42(65,152);e42(65,208);e42(65,232);e42(71,4);e42(71,44);e42(71,76);e42(71,116);e42(71,124);e42(71,164);e42(71,196);e42(71,236);e42(79,16);e42(79,56);e42(79,64);e42(79,104);e42(79,136);e42(79,176);e42(79,184);e42(79,224);e52(19,14);e52(19,26);e52(19,34);e52(19,46);e52(19,74);e52(19,86);e52(19,94);e52(19,106);e52(19,134);e52(19,146);e52(19,154);e52(19,166);e52(19,194);e52(19,206);e52(19,214);e52(19,226);e52(29,14);e52(29,26);e52(29,34);e52(29,46);e52(29,74);e52(29,86);e52(29,94);e52(29,106);e52(29,134);e52(29,146);e52(29,154);e52(29,166);e52(29,194);e52(29,206);e52(29,214);e52(29,226);e52(35,2);e52(35,22);e52(35,38);e52(35,58);e52(35,62);e52(35,82);e52(35,98);e52(35,118);e52(35,122);e52(35,142);e52(35,158);e52(35,178);e52(35,182);e52(35,202);e52(35,218);e52(35,238);e52(45,2);e52(45,22);e52(45,38);e52(45,58);e52(45,62);e52(45,82);e52(45,98);e52(45,118);e52(45,122);e52(45,142);e52(45,158);e52(45,178);e52(45,182);e52(45,202);e52(45,218);e52(45,238);e52(51,14);e52(51,26);e52(51,34);e52(51,46);e52(51,74);e52(51,86);e52(51,94);e52(51,106);e52(51,134);e52(51,146);e52(51,154);e52(51,166);e52(51,194);e52(51,206);e52(51,214);e52(51,226);e52(61,14);e52(61,26);e52(61,34);e52(61,46);e52(61,74);e52(61,86);e52(61,94);e52(61,106);e52(61,134);e52(61,146);e52(61,154);e52(61,166);e52(61,194);e52(61,206);e52(61,214);e52(61,226);e62(5,28);e62(5,52);e62(5,68);e62(5,92);e62(5,148);e62(5,172);e62(5,188);e62(5,212);e62(11,4);e62(11,44);e62(11,76);e62(11,116);e62(11,124);e62(11,164);e62(11,196);e62(11,236);e62(19,16);e62(19,56);e62(19,64);e62(19,104);e62(19,136);e62(19,176);e62(19,184);e62(19,224);e62(21,4);e62(21,44);e62(21,76);e62(21,116);e62(21,124);e62(21,164);e62(21,196);e62(21,236);e62(29,16);e62(29,56);e62(29,64);e62(29,104);e62(29,136);e62(29,176);e62(29,184);e62(29,224);e62(35,8);e62(35,32);e62(35,88);e62(35,112);e62(35,128);e62(35,152);e62(35,208);e62(35,232);e62(45,8);e62(45,32);e62(45,88);e62(45,112);e62(45,128);e62(45,152);e62(45,208);e62(45,232);e62(51,16);e62(51,56);e62(51,64);e62(51,104);e62(51,136);e62(51,176);e62(51,184);e62(51,224);e62(59,4);e62(59,44);e62(59,76);e62(59,116);e62(59,124);e62(59,164);e62(59,196);e62(59,236);e62(61,16);e62(61,56);e62(61,64);e62(61,104);e62(61,136);e62(61,176);e62(61,184);e62(61,224);e62(69,4);e62(69,44);e62(69,76);e62(69,116);e62(69,124);e62(69,164);e62(69,196);e62(69,236);e62(75,28);e62(75,52);e62(75,68);e62(75,92);e62(75,148);e62(75,172);e62(75,188);e62(75,212);e72(9,14);e72(9,26);e72(9,34);e72(9,46);e72(9,74);e72(9,86);e72(9,94);e72(9,106);e72(9,134);e72(9,146);e72(9,154);e72(9,166);e72(9,194);e72(9,206);e72(9,214);e72(9,226);e72(25,2);e72(25,22);e72(25,38);e72(25,58);e72(25,62);e72(25,82);e72(25,98);e72(25,118);e72(25,122);e72(25,142);e72(25,158);e72(25,178);e72(25,182);e72(25,202);e72(25,218);e72(25,238);e72(39,14);e72(39,26);e72(39,34);e72(39,46);e72(39,74);e72(39,86);e72(39,94);e72(39,106);e72(39,134);e72(39,146);e72(39,154);e72(39,166);e72(39,194);e72(39,206);e72(39,214);e72(39,226);e72(41,14);e72(41,26);e72(41,34);e72(41,46);e72(41,74);e72(41,86);e72(41,94);e72(41,106);e72(41,134);e72(41,146);e72(41,154);e72(41,166);e72(41,194);e72(41,206);e72(41,214);e72(41,226);e72(55,2);e72(55,22);e72(55,38);e72(55,58);e72(55,62);e72(55,82);e72(55,98);e72(55,118);e72(55,122);e72(55,142);e72(55,158);e72(55,178);e72(55,182);e72(55,202);e72(55,218);e72(55,238);e72(71,14);e72(71,26);e72(71,34);e72(71,46);e72(71,74);e72(71,86);e72(71,94);e72(71,106);e72(71,134);e72(71,146);e72(71,154);e72(71,166);e72(71,194);e72(71,206);e72(71,214);e72(71,226);break;
		case 31: e02(3,2);e02(3,22);e02(3,38);e02(3,58);e02(3,62);e02(3,82);e02(3,98);e02(3,118);e02(3,122);e02(3,142);e02(3,158);e02(3,178);e02(3,182);e02(3,202);e02(3,218);e02(3,238);e02(13,2);e02(13,22);e02(13,38);e02(13,58);e02(13,62);e02(13,82);e02(13,98);e02(13,118);e02(13,122);e02(13,142);e02(13,158);e02(13,178);e02(13,182);e02(13,202);e02(13,218);e02(13,238);e02(35,14);e02(35,26);e02(35,34);e02(35,46);e02(35,74);e02(35,86);e02(35,94);e02(35,106);e02(35,134);e02(35,146);e02(35,154);e02(35,166);e02(35,194);e02(35,206);e02(35,214);e02(35,226);e02(45,14);e02(45,26);e02(45,34);e02(45,46);e02(45,74);e02(45,86);e02(45,94);e02(45,106);e02(45,134);e02(45,146);e02(45,154);e02(45,166);e02(45,194);e02(45,206);e02(45,214);e02(45,226);e02(67,2);e02(67,22);e02(67,38);e02(67,58);e02(67,62);e02(67,82);e02(67,98);e02(67,118);e02(67,122);e02(67,142);e02(67,158);e02(67,178);e02(67,182);e02(67,202);e02(67,218);e02(67,238);e02(77,2);e02(77,22);e02(77,38);e02(77,58);e02(77,62);e02(77,82);e02(77,98);e02(77,118);e02(77,122);e02(77,142);e02(77,158);e02(77,178);e02(77,182);e02(77,202);e02(77,218);e02(77,238);e12(3,8);e12(3,32);e12(3,88);e12(3,112);e12(3,128);e12(3,152);e12(3,208);e12(3,232);e12(5,4);e12(5,44);e12(5,76);e12(5,116);e12(5,124);e12(5,164);e12(5,196);e12(5,236);e12(13,8);e12(13,32);e12(13,88);e12(13,112);e12(13,128);e12(13,152);e12(13,208);e12(13,232);e12(27,28);e12(27,52);e12(27,68);e12(27,92);e12(27,148);e12(27,172);e12(27,188);e12(27,212);e12(35,16);e12(35,56);e12(35,64);e12(35,104);e12(35,136);e12(35,176);e12(35,184);e12(35,224);e12(37,28);e12(37,52);e12(37,68);e12(37,92);e12(37,148);e12(37,172);e12(37,188);e12(37,212);e12(43,28);e12(43,52);e12(43,68);e12(43,92);e12(43,148);e12(43,172);e12(43,188);e12(43,212);e12(45,16);e12(45,56);e12(45,64);e12(45,104);e12(45,136);e12(45,176);e12(45,184);e12(45,224);e12(53,28);e12(53,52);e12(53,68);e12(53,92);e12(53,148);e12(53,172);e12(53,188);e12(53,212);e12(67,8);e12(67,32);e12(67,88);e12(67,112);e12(67,128);e12(67,152);e12(67,208);e12(67,232);e12(75,4);e12(75,44);e12(75,76);e12(75,116);e12(75,124);e12(75,164);e12(75,196);e12(75,236);e12(77,8);e12(77,32);e12(77,88);e12(77,112);e12(77,128);e12(77,152);e12(77,208);e12(77,232);e22(7,2);e22(7,22);e22(7,38);e22(7,58);e22(7,62);e22(7,82);e22(7,98);e22(7,118);e22(7,122);e22(7,142);e22(7,158);e22(7,178);e22(7,182);e22(7,202);e22(7,218);e22(7,238);e22(23,2);e22(23,22);e22(23,38);e22(23,58);e22(23,62);e22(23,82);e22(23,98);e22(23,118);e22(23,122);e22(23,142);e22(23,158);e22(23,178);e22(23,182);e22(23,202);e22(23,218);e22(23,238);e22(25,14);e22(25,26);e22(25,34);e22(25,46);e22(25,74);e22(25,86);e22(25,94);e22(25,106);e22(25,134);e22(25,146);e22(25,154);e22(25,166);e22(25,194);e22(25,206);e22(25,214);e22(25,226);e22(55,14);e22(55,26);e22(55,34);e22(55,46);e22(55,74);e22(55,86);e22(55,94);e22(55,106);e22(55,134);e22(55,146);e22(55,154);e22(55,166);e22(55,194);e22(55,206);e22(55,214);e22(55,226);e22(57,2);e22(57,22);e22(57,38);e22(57,58);e22(57,62);e22(57,82);e22(57,98);e22(57,118);e22(57,122);e22(57,142);e22(57,158);e22(57,178);e22(57,182);e22(57,202);e22(57,218);e22(57,238);e22(73,2);e22(73,22);e22(73,38);e22(73,58);e22(73,62);e22(73,82);e22(73,98);e22(73,118);e22(73,122);e22(73,142);e22(73,158);e22(73,178);e22(73,182);e22(73,202);e22(73,218);e22(73,238);e32(7,8);e32(7,32);e32(7,88);e32(7,112);e32(7,128);e32(7,152);e32(7,208);e32(7,232);e32(15,4);e32(15,44);e32(15,76);e32(15,116);e32(15,124);e32(15,164);e32(15,196);e32(15,236);e32(17,28);e32(17,52);e32(17,68);e32(17,92);e32(17,148);e32(17,172);e32(17,188);e32(17,212);e32(23,8);e32(23,32);e32(23,88);e32(23,112);e32(23,128);e32(23,152);e32(23,208);e32(23,232);e32(25,16);e32(25,56);e32(25,64);e32(25,104);e32(25,136);e32(25,176);e32(25,184);e32(25,224);e32(33,28);e32(33,52);e32(33,68);e32(33,92);e32(33,148);e32(33,172);e32(33,188);e32(33,212);e32(47,28);e32(47,52);e32(47,68);e32(47,92);e32(47,148);e32(47,172);e32(47,188);e32(47,212);e32(55,16);e32(55,56);e32(55,64);e32(55,104);e32(55,136);e32(55,176);e32(55,184);e32(55,224);e32(57,8);e32(57,32);e32(57,88);e32(57,112);e32(57,128);e32(57,152);e32(57,208);e32(57,232);e32(63,28);e32(63,52);e32(63,68);e32(63,92);e32(63,148);e32(63,172);e32(63,188);e32(63,212);e32(65,4);e32(65,44);e32(65,76);e32(65,116);e32(65,124);e32(65,164);e32(65,196);e32(65,236);e32(73,8);e32(73,32);e32(73,88);e32(73,112);e32(73,128);e32(73,152);e32(73,208);e32(73,232);e42(5,14);e42(5,26);e42(5,34);e42(5,46);e42(5,74);e42(5,86);e42(5,94);e42(5,106);e42(5,134);e42(5,146);e42(5,154);e42(5,166);e42(5,194);e42(5,206);e42(5,214);e42(5,226);e42(27,2);e42(27,22);e42(27,38);e42(27,58);e42(27,62);e42(27,82);e42(27,98);e42(27,118);e42(27,122);e42(27,142);e42(27,158);e42(27,178);e42(27,182);e42(27,202);e42(27,218);e42(27,238);e42(37,2);e42(37,22);e42(37,38);e42(37,58);e42(37,62);e42(37,82);e42(37,98);e42(37,118);e42(37,122);e42(37,142);e42(37,158);e42(37,178);e42(37,182);e42(37,202);e42(37,218);e42(37,238);e42(43,2);e42(43,22);e42(43,38);e42(43,58);e42(43,62);e42(43,82);e42(43,98);e42(43,118);e42(43,122);e42(43,142);e42(43,158);e42(43,178);e42(43,182);e42(43,202);e42(43,218);e42(43,238);e42(53,2);e42(53,22);e42(53,38);e42(53,58);e42(53,62);e42(53,82);e42(53,98);e42(53,118);e42(53,122);e42(53,142);e42(53,158);e42(53,178);e42(53,182);e42(53,202);e42(53,218);e42(53,238);e42(75,14);e42(75,26);e42(75,34);e42(75,46);e42(75,74);e42(75,86);e42(75,94);e42(75,106);e42(75,134);e42(75,146);e42(75,154);e42(75,166);e42(75,194);e42(75,206);e42(75,214);e42(75,226);e52(3,28);e52(3,52);e52(3,68);e52(3,92);e52(3,148);e52(3,172);e52(3,188);e52(3,212);e52(5,16);e52(5,56);e52(5,64);e52(5,104);e52(5,136);e52(5,176);e52(5,184);e52(5,224);e52(13,28);e52(13,52);e52(13,68);e52(13,92);e52(13,148);e52(13,172);e52(13,188);e52(13,212);e52(27,8);e52(27,32);e52(27,88);e52(27,112);e52(27,128);e52(27,152);e52(27,208);e52(27,232);e52(35,4);e52(35,44);e52(35,76);e52(35,116);e52(35,124);e52(35,164);e52(35,196);e52(35,236);e52(37,8);e52(37,32);e52(37,88);e52(37,112);e52(37,128);e52(37,152);e52(37,208);e52(37,232);e52(43,8);e52(43,32);e52(43,88);e52(43,112);e52(43,128);e52(43,152);e52(43,208);e52(43,232);e52(45,4);e52(45,44);e52(45,76);e52(45,116);e52(45,124);e52(45,164);e52(45,196);e52(45,236);e52(53,8);e52(53,32);e52(53,88);e52(53,112);e52(53,128);e52(53,152);e52(53,208);e52(53,232);e52(67,28);e52(67,52);e52(67,68);e52(67,92);e52(67,148);e52(67,172);e52(67,188);e52(67,212);e52(75,16);e52(75,56);e52(75,64);e52(75,104);e52(75,136);e52(75,176);e52(75,184);e52(75,224);e52(77,28);e52(77,52);e52(77,68);e52(77,92);e52(77,148);e52(77,172);e52(77,188);e52(77,212);e62(15,14);e62(15,26);e62(15,34);e62(15,46);e62(15,74);e62(15,86);e62(15,94);e62(15,106);e62(15,134);e62(15,146);e62(15,154);e62(15,166);e62(15,194);e62(15,206);e62(15,214);e62(15,226);e62(17,2);e62(17,22);e62(17,38);e62(17,58);e62(17,62);e62(17,82);e62(17,98);e62(17,118);e62(17,122);e62(17,142);e62(17,158);e62(17,178);e62(17,182);e62(17,202);e62(17,218);e62(17,238);e62(33,2);e62(33,22);e62(33,38);e62(33,58);e62(33,62);e62(33,82);e62(33,98);e62(33,118);e62(33,122);e62(33,142);e62(33,158);e62(33,178);e62(33,182);e62(33,202);e62(33,218);e62(33,238);e62(47,2);e62(47,22);e62(47,38);e62(47,58);e62(47,62);e62(47,82);e62(47,98);e62(47,118);e62(47,122);e62(47,142);e62(47,158);e62(47,178);e62(47,182);e62(47,202);e62(47,218);e62(47,238);e62(63,2);e62(63,22);e62(63,38);e62(63,58);e62(63,62);e62(63,82);e62(63,98);e62(63,118);e62(63,122);e62(63,142);e62(63,158);e62(63,178);e62(63,182);e62(63,202);e62(63,218);e62(63,238);e62(65,14);e62(65,26);e62(65,34);e62(65,46);e62(65,74);e62(65,86);e62(65,94);e62(65,106);e62(65,134);e62(65,146);e62(65,154);e62(65,166);e62(65,194);e62(65,206);e62(65,214);e62(65,226);e72(7,28);e72(7,52);e72(7,68);e72(7,92);e72(7,148);e72(7,172);e72(7,188);e72(7,212);e72(15,16);e72(15,56);e72(15,64);e72(15,104);e72(15,136);e72(15,176);e72(15,184);e72(15,224);e72(17,8);e72(17,32);e72(17,88);e72(17,112);e72(17,128);e72(17,152);e72(17,208);e72(17,232);e72(23,28);e72(23,52);e72(23,68);e72(23,92);e72(23,148);e72(23,172);e72(23,188);e72(23,212);e72(25,4);e72(25,44);e72(25,76);e72(25,116);e72(25,124);e72(25,164);e72(25,196);e72(25,236);e72(33,8);e72(33,32);e72(33,88);e72(33,112);e72(33,128);e72(33,152);e72(33,208);e72(33,232);e72(47,8);e72(47,32);e72(47,88);e72(47,112);e72(47,128);e72(47,152);e72(47,208);e72(47,232);e72(55,4);e72(55,44);e72(55,76);e72(55,116);e72(55,124);e72(55,164);e72(55,196);e72(55,236);e72(57,28);e72(57,52);e72(57,68);e72(57,92);e72(57,148);e72(57,172);e72(57,188);e72(57,212);e72(63,8);e72(63,32);e72(63,88);e72(63,112);e72(63,128);e72(63,152);e72(63,208);e72(63,232);e72(65,16);e72(65,56);e72(65,64);e72(65,104);e72(65,136);e72(65,176);e72(65,184);e72(65,224);e72(73,28);e72(73,52);e72(73,68);e72(73,92);e72(73,148);e72(73,172);e72(73,188);e72(73,212);break;
		case 43: e02(3,4);e02(3,44);e02(3,76);e02(3,116);e02(3,124);e02(3,164);e02(3,196);e02(3,236);e02(11,40);e02(11,80);e02(11,160);e02(11,200);e02(13,4);e02(13,44);e02(13,76);e02(13,116);e02(13,124);e02(13,164);e02(13,196);e02(13,236);e02(19,20);e02(19,100);e02(19,140);e02(19,220);e02(21,40);e02(21,80);e02(21,160);e02(21,200);e02(27,16);e02(27,56);e02(27,64);e02(27,104);e02(27,136);e02(27,176);e02(27,184);e02(27,224);e02(29,20);e02(29,100);e02(29,140);e02(29,220);e02(37,16);e02(37,56);e02(37,64);e02(37,104);e02(37,136);e02(37,176);e02(37,184);e02(37,224);e02(43,16);e02(43,56);e02(43,64);e02(43,104);e02(43,136);e02(43,176);e02(43,184);e02(43,224);e02(51,20);e02(51,100);e02(51,140);e02(51,220);e02(53,16);e02(53,56);e02(53,64);e02(53,104);e02(53,136);e02(53,176);e02(53,184);e02(53,224);e02(59,40);e02(59,80);e02(59,160);e02(59,200);e02(61,20);e02(61,100);e02(61,140);e02(61,220);e02(67,4);e02(67,44);e02(67,76);e02(67,116);e02(67,124);e02(67,164);e02(67,196);e02(67,236);e02(69,40);e02(69,80);e02(69,160);e02(69,200);e02(77,4);e02(77,44);e02(77,76);e02(77,116);e02(77,124);e02(77,164);e02(77,196);e02(77,236);e12(1,10);e12(1,50);e12(1,70);e12(1,110);e12(1,130);e12(1,170);e12(1,190);e12(1,230);e12(17,14);e12(17,26);e12(17,34);e12(17,46);e12(17,74);e12(17,86);e12(17,94);e12(17,106);e12(17,134);e12(17,146);e12(17,154);e12(17,166);e12(17,194);e12(17,206);e12(17,214);e12(17,226);e12(31,10);e12(31,50);e12(31,70);e12(31,110);e12(31,130);e12(31,170);e12(31,190);e12(31,230);e12(33,14);e12(33,26);e12(33,34);e12(33,46);e12(33,74);e12(33,86);e12(33,94);e12(33,106);e12(33,134);e12(33,146);e12(33,154);e12(33,166);e12(33,194);e12(33,206);e12(33,214);e12(33,226);e12(47,14);e12(47,26);e12(47,34);e12(47,46);e12(47,74);e12(47,86);e12(47,94);e12(47,106);e12(47,134);e12(47,146);e12(47,154);e12(47,166);e12(47,194);e12(47,206);e12(47,214);e12(47,226);e12(49,10);e12(49,50);e12(49,70);e12(49,110);e12(49,130);e12(49,170);e12(49,190);e12(49,230);e12(63,14);e12(63,26);e12(63,34);e12(63,46);e12(63,74);e12(63,86);e12(63,94);e12(63,106);e12(63,134);e12(63,146);e12(63,154);e12(63,166);e12(63,194);e12(63,206);e12(63,214);e12(63,226);e12(79,10);e12(79,50);e12(79,70);e12(79,110);e12(79,130);e12(79,170);e12(79,190);e12(79,230);e22(1,40);e22(1,80);e22(1,160);e22(1,200);e22(7,4);e22(7,44);e22(7,76);e22(7,116);e22(7,124);e22(7,164);e22(7,196);e22(7,236);e22(9,20);e22(9,100);e22(9,140);e22(9,220);e22(17,16);e22(17,56);e22(17,64);e22(17,104);e22(17,136);e22(17,176);e22(17,184);e22(17,224);e22(23,4);e22(23,44);e22(23,76);e22(23,116);e22(23,124);e22(23,164);e22(23,196);e22(23,236);e22(31,40);e22(31,80);e22(31,160);e22(31,200);e22(33,16);e22(33,56);e22(33,64);e22(33,104);e22(33,136);e22(33,176);e22(33,184);e22(33,224);e22(39,20);e22(39,100);e22(39,140);e22(39,220);e22(41,20);e22(41,100);e22(41,140);e22(41,220);e22(47,16);e22(47,56);e22(47,64);e22(47,104);e22(47,136);e22(47,176);e22(47,184);e22(47,224);e22(49,40);e22(49,80);e22(49,160);e22(49,200);e22(57,4);e22(57,44);e22(57,76);e22(57,116);e22(57,124);e22(57,164);e22(57,196);e22(57,236);e22(63,16);e22(63,56);e22(63,64);e22(63,104);e22(63,136);e22(63,176);e22(63,184);e22(63,224);e22(71,20);e22(71,100);e22(71,140);e22(71,220);e22(73,4);e22(73,44);e22(73,76);e22(73,116);e22(73,124);e22(73,164);e22(73,196);e22(73,236);e22(79,40);e22(79,80);e22(79,160);e22(79,200);e32(3,14);e32(3,26);e32(3,34);e32(3,46);e32(3,74);e32(3,86);e32(3,94);e32(3,106);e32(3,134);e32(3,146);e32(3,154);e32(3,166);e32(3,194);e32(3,206);e32(3,214);e32(3,226);e32(13,14);e32(13,26);e32(13,34);e32(13,46);e32(13,74);e32(13,86);e32(13,94);e32(13,106);e32(13,134);e32(13,146);e32(13,154);e32(13,166);e32(13,194);e32(13,206);e32(13,214);e32(13,226);e32(19,10);e32(19,50);e32(19,70);e32(19,110);e32(19,130);e32(19,170);e32(19,190);e32(19,230);e32(29,10);e32(29,50);e32(29,70);e32(29,110);e32(29,130);e32(29,170);e32(29,190);e32(29,230);e32(51,10);e32(51,50);e32(51,70);e32(51,110);e32(51,130);e32(51,170);e32(51,190);e32(51,230);e32(61,10);e32(61,50);e32(61,70);e32(61,110);e32(61,130);e32(61,170);e32(61,190);e32(61,230);e32(67,14);e32(67,26);e32(67,34);e32(67,46);e32(67,74);e32(67,86);e32(67,94);e32(67,106);e32(67,134);e32(67,146);e32(67,154);e32(67,166);e32(67,194);e32(67,206);e32(67,214);e32(67,226);e32(77,14);e32(77,26);e32(77,34);e32(77,46);e32(77,74);e32(77,86);e32(77,94);e32(77,106);e32(77,134);e32(77,146);e32(77,154);e32(77,166);e32(77,194);e32(77,206);e32(77,214);e32(77,226);e42(3,16);e42(3,56);e42(3,64);e42(3,104);e42(3,136);e42(3,176);e42(3,184);e42(3,224);e42(11,20);e42(11,100);e42(11,140);e42(11,220);e42(13,16);e42(13,56);e42(13,64);e42(13,104);e42(13,136);e42(13,176);e42(13,184);e42(13,224);e42(19,40);e42(19,80);e42(19,160);e42(19,200);e42(21,20);e42(21,100);e42(21,140);e42(21,220);e42(27,4);e42(27,44);e42(27,76);e42(27,116);e42(27,124);e42(27,164);e42(27,196);e42(27,236);e42(29,40);e42(29,80);e42(29,160);e42(29,200);e42(37,4);e42(37,44);e42(37,76);e42(37,116);e42(37,124);e42(37,164);e42(37,196);e42(37,236);e42(43,4);e42(43,44);e42(43,76);e42(43,116);e42(43,124);e42(43,164);e42(43,196);e42(43,236);e42(51,40);e42(51,80);e42(51,160);e42(51,200);e42(53,4);e42(53,44);e42(53,76);e42(53,116);e42(53,124);e42(53,164);e42(53,196);e42(53,236);e42(59,20);e42(59,100);e42(59,140);e42(59,220);e42(61,40);e42(61,80);e42(61,160);e42(61,200);e42(67,16);e42(67,56);e42(67,64);e42(67,104);e42(67,136);e42(67,176);e42(67,184);e42(67,224);e42(69,20);e42(69,100);e42(69,140);e42(69,220);e42(77,16);e42(77,56);e42(77,64);e42(77,104);e42(77,136);e42(77,176);e42(77,184);e42(77,224);e52(7,14);e52(7,26);e52(7,34);e52(7,46);e52(7,74);e52(7,86);e52(7,94);e52(7,106);e52(7,134);e52(7,146);e52(7,154);e52(7,166);e52(7,194);e52(7,206);e52(7,214);e52(7,226);e52(9,10);e52(9,50);e52(9,70);e52(9,110);e52(9,130);e52(9,170);e52(9,190);e52(9,230);e52(23,14);e52(23,26);e52(23,34);e52(23,46);e52(23,74);e52(23,86);e52(23,94);e52(23,106);e52(23,134);e52(23,146);e52(23,154);e52(23,166);e52(23,194);e52(23,206);e52(23,214);e52(23,226);e52(39,10);e52(39,50);e52(39,70);e52(39,110);e52(39,130);e52(39,170);e52(39,190);e52(39,230);e52(41,10);e52(41,50);e52(41,70);e52(41,110);e52(41,130);e52(41,170);e52(41,190);e52(41,230);e52(57,14);e52(57,26);e52(57,34);e52(57,46);e52(57,74);e52(57,86);e52(57,94);e52(57,106);e52(57,134);e52(57,146);e52(57,154);e52(57,166);e52(57,194);e52(57,206);e52(57,214);e52(57,226);e52(71,10);e52(71,50);e52(71,70);e52(71,110);e52(71,130);e52(71,170);e52(71,190);e52(71,230);e52(73,14);e52(73,26);e52(73,34);e52(73,46);e52(73,74);e52(73,86);e52(73,94);e52(73,106);e52(73,134);e52(73,146);e52(73,154);e52(73,166);e52(73,194);e52(73,206);e52(73,214);e52(73,226);e62(1,20);e62(1,100);e62(1,140);e62(1,220);e62(7,16);e62(7,56);e62(7,64);e62(7,104);e62(7,136);e62(7,176);e62(7,184);e62(7,224);e62(9,40);e62(9,80);e62(9,160);e62(9,200);e62(17,4);e62(17,44);e62(17,76);e62(17,116);e62(17,124);e62(17,164);e62(17,196);e62(17,236);e62(23,16);e62(23,56);e62(23,64);e62(23,104);e62(23,136);e62(23,176);e62(23,184);e62(23,224);e62(31,20);e62(31,100);e62(31,140);e62(31,220);e62(33,4);e62(33,44);e62(33,76);e62(33,116);e62(33,124);e62(33,164);e62(33,196);e62(33,236);e62(39,40);e62(39,80);e62(39,160);e62(39,200);e62(41,40);e62(41,80);e62(41,160);e62(41,200);e62(47,4);e62(47,44);e62(47,76);e62(47,116);e62(47,124);e62(47,164);e62(47,196);e62(47,236);e62(49,20);e62(49,100);e62(49,140);e62(49,220);e62(57,16);e62(57,56);e62(57,64);e62(57,104);e62(57,136);e62(57,176);e62(57,184);e62(57,224);e62(63,4);e62(63,44);e62(63,76);e62(63,116);e62(63,124);e62(63,164);e62(63,196);e62(63,236);e62(71,40);e62(71,80);e62(71,160);e62(71,200);e62(73,16);e62(73,56);e62(73,64);e62(73,104);e62(73,136);e62(73,176);e62(73,184);e62(73,224);e62(79,20);e62(79,100);e62(79,140);e62(79,220);e72(11,10);e72(11,50);e72(11,70);e72(11,110);e72(11,130);e72(11,170);e72(11,190);e72(11,230);e72(21,10);e72(21,50);e72(21,70);e72(21,110);e72(21,130);e72(21,170);e72(21,190);e72(21,230);e72(27,14);e72(27,26);e72(27,34);e72(27,46);e72(27,74);e72(27,86);e72(27,94);e72(27,106);e72(27,134);e72(27,146);e72(27,154);e72(27,166);e72(27,194);e72(27,206);e72(27,214);e72(27,226);e72(37,14);e72(37,26);e72(37,34);e72(37,46);e72(37,74);e72(37,86);e72(37,94);e72(37,106);e72(37,134);e72(37,146);e72(37,154);e72(37,166);e72(37,194);e72(37,206);e72(37,214);e72(37,226);e72(43,14);e72(43,26);e72(43,34);e72(43,46);e72(43,74);e72(43,86);e72(43,94);e72(43,106);e72(43,134);e72(43,146);e72(43,154);e72(43,166);e72(43,194);e72(43,206);e72(43,214);e72(43,226);e72(53,14);e72(53,26);e72(53,34);e72(53,46);e72(53,74);e72(53,86);e72(53,94);e72(53,106);e72(53,134);e72(53,146);e72(53,154);e72(53,166);e72(53,194);e72(53,206);e72(53,214);e72(53,226);e72(59,10);e72(59,50);e72(59,70);e72(59,110);e72(59,130);e72(59,170);e72(59,190);e72(59,230);e72(69,10);e72(69,50);e72(69,70);e72(69,110);e72(69,130);e72(69,170);e72(69,190);e72(69,230);break;
		case 11: e03(2,1);e03(2,31);e03(2,49);e03(2,79);e03(2,161);e03(2,191);e03(2,209);e03(2,239);e03(3,4);e03(3,44);e03(3,76);e03(3,116);e03(3,124);e03(3,164);e03(3,196);e03(3,236);e03(5,8);e03(5,32);e03(5,88);e03(5,112);e03(5,128);e03(5,152);e03(5,208);e03(5,232);e03(10,17);e03(10,47);e03(10,97);e03(10,113);e03(10,127);e03(10,143);e03(10,193);e03(10,223);e03(13,4);e03(13,44);e03(13,76);e03(13,116);e03(13,124);e03(13,164);e03(13,196);e03(13,236);e03(18,1);e03(18,31);e03(18,49);e03(18,79);e03(18,161);e03(18,191);e03(18,209);e03(18,239);e03(22,1);e03(22,31);e03(22,49);e03(22,79);e03(22,161);e03(22,191);e03(22,209);e03(22,239);e03(27,16);e03(27,56);e03(27,64);e03(27,104);e03(27,136);e03(27,176);e03(27,184);e03(27,224);e03(30,17);e03(30,47);e03(30,97);e03(30,113);e03(30,127);e03(30,143);e03(30,193);e03(30,223);e03(35,28);e03(35,52);e03(35,68);e03(35,92);e03(35,148);e03(35,172);e03(35,188);e03(35,212);e03(37,16);e03(37,56);e03(37,64);e03(37,104);e03(37,136);e03(37,176);e03(37,184);e03(37,224);e03(38,1);e03(38,31);e03(38,49);e03(38,79);e03(38,161);e03(38,191);e03(38,209);e03(38,239);e03(42,1);e03(42,31);e03(42,49);e03(42,79);e03(42,161);e03(42,191);e03(42,209);e03(42,239);e03(43,16);e03(43,56);e03(43,64);e03(43,104);e03(43,136);e03(43,176);e03(43,184);e03(43,224);e03(45,28);e03(45,52);e03(45,68);e03(45,92);e03(45,148);e03(45,172);e03(45,188);e03(45,212);e03(50,17);e03(50,47);e03(50,97);e03(50,113);e03(50,127);e03(50,143);e03(50,193);e03(50,223);e03(53,16);e03(53,56);e03(53,64);e03(53,104);e03(53,136);e03(53,176);e03(53,184);e03(53,224);e03(58,1);e03(58,31);e03(58,49);e03(58,79);e03(58,161);e03(58,191);e03(58,209);e03(58,239);e03(62,1);e03(62,31);e03(62,49);e03(62,79);e03(62,161);e03(62,191);e03(62,209);e03(62,239);e03(67,4);e03(67,44);e03(67,76);e03(67,116);e03(67,124);e03(67,164);e03(67,196);e03(67,236);e03(70,17);e03(70,47);e03(70,97);e03(70,113);e03(70,127);e03(70,143);e03(70,193);e03(70,223);e03(75,8);e03(75,32);e03(75,88);e03(75,112);e03(75,128);e03(75,152);e03(75,208);e03(75,232);e03(77,4);e03(77,44);e03(77,76);e03(77,116);e03(77,124);e03(77,164);e03(77,196);e03(77,236);e03(78,1);e03(78,31);e03(78,49);e03(78,79);e03(78,161);e03(78,191);e03(78,209);e03(78,239);e13(5,2);e13(5,22);e13(5,38);e13(5,58);e13(5,62);e13(5,82);e13(5,98);e13(5,118);e13(5,122);e13(5,142);e13(5,158);e13(5,178);e13(5,182);e13(5,202);e13(5,218);e13(5,238);e13(8,11);e13(8,59);e13(8,91);e13(8,101);e13(8,139);e13(8,149);e13(8,181);e13(8,229);e13(12,19);e13(12,29);e13(12,61);e13(12,109);e13(12,131);e13(12,179);e13(12,211);e13(12,221);e13(20,13);e13(20,67);e13(20,77);e13(20,83);e13(20,157);e13(20,163);e13(20,173);e13(20,227);e13(27,14);e13(27,26);e13(27,34);e13(27,46);e13(27,74);e13(27,86);e13(27,94);e13(27,106);e13(27,134);e13(27,146);e13(27,154);e13(27,166);e13(27,194);e13(27,206);e13(27,214);e13(27,226);e13(28,19);e13(28,29);e13(28,61);e13(28,109);e13(28,131);e13(28,179);e13(28,211);e13(28,221);e13(32,11);e13(32,59);e13(32,91);e13(32,101);e13(32,139);e13(32,149);e13(32,181);e13(32,229);e13(37,14);e13(37,26);e13(37,34);e13(37,46);e13(37,74);e13(37,86);e13(37,94);e13(37,106);e13(37,134);e13(37,146);e13(37,154);e13(37,166);e13(37,194);e13(37,206);e13(37,214);e13(37,226);e13(40,37);e13(40,43);e13(40,53);e13(40,107);e13(40,133);e13(40,187);e13(40,197);e13(40,203);e13(43,14);e13(43,26);e13(43,34);e13(43,46);e13(43,74);e13(43,86);e13(43,94);e13(43,106);e13(43,134);e13(43,146);e13(43,154);e13(43,166);e13(43,194);e13(43,206);e13(43,214);e13(43,226);e13(48,11);e13(48,59);e13(48,91);e13(48,101);e13(48,139);e13(48,149);e13(48,181);e13(48,229);e13(52,19);e13(52,29);e13(52,61);e13(52,109);e13(52,131);e13(52,179);e13(52,211);e13(52,221);e13(53,14);e13(53,26);e13(53,34);e13(53,46);e13(53,74);e13(53,86);e13(53,94);e13(53,106);e13(53,134);e13(53,146);e13(53,154);e13(53,166);e13(53,194);e13(53,206);e13(53,214);e13(53,226);e13(60,13);e13(60,67);e13(60,77);e13(60,83);e13(60,157);e13(60,163);e13(60,173);e13(60,227);e13(68,19);e13(68,29);e13(68,61);e13(68,109);e13(68,131);e13(68,179);e13(68,211);e13(68,221);e13(72,11);e13(72,59);e13(72,91);e13(72,101);e13(72,139);e13(72,149);e13(72,181);e13(72,229);e13(75,2);e13(75,22);e13(75,38);e13(75,58);e13(75,62);e13(75,82);e13(75,98);e13(75,118);e13(75,122);e13(75,142);e13(75,158);e13(75,178);e13(75,182);e13(75,202);e13(75,218);e13(75,238);e13(80,37);e13(80,43);e13(80,53);e13(80,107);e13(80,133);e13(80,187);e13(80,197);e13(80,203);e23(2,19);e23(2,29);e23(2,61);e23(2,109);e23(2,131);e23(2,179);e23(2,211);e23(2,221);e23(7,4);e23(7,44);e23(7,76);e23(7,116);e23(7,124);e23(7,164);e23(7,196);e23(7,236);e23(10,13);e23(10,67);e23(10,77);e23(10,83);e23(10,157);e23(10,163);e23(10,173);e23(10,227);e23(15,8);e23(15,32);e23(15,88);e23(15,112);e23(15,128);e23(15,152);e23(15,208);e23(15,232);e23(17,16);e23(17,56);e23(17,64);e23(17,104);e23(17,136);e23(17,176);e23(17,184);e23(17,224);e23(18,19);e23(18,29);e23(18,61);e23(18,109);e23(18,131);e23(18,179);e23(18,211);e23(18,221);e23(22,19);e23(22,29);e23(22,61);e23(22,109);e23(22,131);e23(22,179);e23(22,211);e23(22,221);e23(23,4);e23(23,44);e23(23,76);e23(23,116);e23(23,124);e23(23,164);e23(23,196);e23(23,236);e23(25,28);e23(25,52);e23(25,68);e23(25,92);e23(25,148);e23(25,172);e23(25,188);e23(25,212);e23(30,13);e23(30,67);e23(30,77);e23(30,83);e23(30,157);e23(30,163);e23(30,173);e23(30,227);e23(33,16);e23(33,56);e23(33,64);e23(33,104);e23(33,136);e23(33,176);e23(33,184);e23(33,224);e23(38,19);e23(38,29);e23(38,61);e23(38,109);e23(38,131);e23(38,179);e23(38,211);e23(38,221);e23(42,19);e23(42,29);e23(42,61);e23(42,109);e23(42,131);e23(42,179);e23(42,211);e23(42,221);e23(47,16);e23(47,56);e23(47,64);e23(47,104);e23(47,136);e23(47,176);e23(47,184);e23(47,224);e23(50,13);e23(50,67);e23(50,77);e23(50,83);e23(50,157);e23(50,163);e23(50,173);e23(50,227);e23(55,28);e23(55,52);e23(55,68);e23(55,92);e23(55,148);e23(55,172);e23(55,188);e23(55,212);e23(57,4);e23(57,44);e23(57,76);e23(57,116);e23(57,124);e23(57,164);e23(57,196);e23(57,236);e23(58,19);e23(58,29);e23(58,61);e23(58,109);e23(58,131);e23(58,179);e23(58,211);e23(58,221);e23(62,19);e23(62,29);e23(62,61);e23(62,109);e23(62,131);e23(62,179);e23(62,211);e23(62,221);e23(63,16);e23(63,56);e23(63,64);e23(63,104);e23(63,136);e23(63,176);e23(63,184);e23(63,224);e23(65,8);e23(65,32);e23(65,88);e23(65,112);e23(65,128);e23(65,152);e23(65,208);e23(65,232);e23(70,13);e23(70,67);e23(70,77);e23(70,83);e23(70,157);e23(70,163);e23(70,173);e23(70,227);e23(73,4);e23(73,44);e23(73,76);e23(73,116);e23(73,124);e23(73,164);e23(73,196);e23(73,236);e23(78,19);e23(78,29);e23(78,61);e23(78,109);e23(78,131);e23(78,179);e23(78,211);e23(78,221);e33(8,1);e33(8,31);e33(8,49);e33(8,79);e33(8,161);e33(8,191);e33(8,209);e33(8,239);e33(12,41);e33(12,71);e33(12,89);e33(12,119);e33(12,121);e33(12,151);e33(12,169);e33(12,199);e33(15,2);e33(15,22);e33(15,38);e33(15,58);e33(15,62);e33(15,82);e33(15,98);e33(15,118);e33(15,122);e33(15,142);e33(15,158);e33(15,178);e33(15,182);e33(15,202);e33(15,218);e33(15,238);e33(17,14);e33(17,26);e33(17,34);e33(17,46);e33(17,74);e33(17,86);e33(17,94);e33(17,106);e33(17,134);e33(17,146);e33(17,154);e33(17,166);e33(17,194);e33(17,206);e33(17,214);e33(17,226);e33(20,7);e33(20,23);e33(20,73);e33(20,103);e33(20,137);e33(20,167);e33(20,217);e33(20,233);e33(28,41);e33(28,71);e33(28,89);e33(28,119);e33(28,121);e33(28,151);e33(28,169);e33(28,199);e33(32,1);e33(32,31);e33(32,49);e33(32,79);e33(32,161);e33(32,191);e33(32,209);e33(32,239);e33(33,14);e33(33,26);e33(33,34);e33(33,46);e33(33,74);e33(33,86);e33(33,94);e33(33,106);e33(33,134);e33(33,146);e33(33,154);e33(33,166);e33(33,194);e33(33,206);e33(33,214);e33(33,226);e33(40,17);e33(40,47);e33(40,97);e33(40,113);e33(40,127);e33(40,143);e33(40,193);e33(40,223);e33(47,14);e33(47,26);e33(47,34);e33(47,46);e33(47,74);e33(47,86);e33(47,94);e33(47,106);e33(47,134);e33(47,146);e33(47,154);e33(47,166);e33(47,194);e33(47,206);e33(47,214);e33(47,226);e33(48,1);e33(48,31);e33(48,49);e33(48,79);e33(48,161);e33(48,191);e33(48,209);e33(48,239);e33(52,41);e33(52,71);e33(52,89);e33(52,119);e33(52,121);e33(52,151);e33(52,169);e33(52,199);e33(60,7);e33(60,23);e33(60,73);e33(60,103);e33(60,137);e33(60,167);e33(60,217);e33(60,233);e33(63,14);e33(63,26);e33(63,34);e33(63,46);e33(63,74);e33(63,86);e33(63,94);e33(63,106);e33(63,134);e33(63,146);e33(63,154);e33(63,166);e33(63,194);e33(63,206);e33(63,214);e33(63,226);e33(65,2);e33(65,22);e33(65,38);e33(65,58);e33(65,62);e33(65,82);e33(65,98);e33(65,118);e33(65,122);e33(65,142);e33(65,158);e33(65,178);e33(65,182);e33(65,202);e33(65,218);e33(65,238);e33(68,41);e33(68,71);e33(68,89);e33(68,119);e33(68,121);e33(68,151);e33(68,169);e33(68,199);e33(72,1);e33(72,31);e33(72,49);e33(72,79);e33(72,161);e33(72,191);e33(72,209);e33(72,239);e33(80,17);e33(80,47);e33(80,97);e33(80,113);e33(80,127);e33(80,143);e33(80,193);e33(80,223);e43(2,41);e43(2,71);e43(2,89);e43(2,119);e43(2,121);e43(2,151);e43(2,169);e43(2,199);e43(3,16);e43(3,56);e43(3,64);e43(3,104);e43(3,136);e43(3,176);e43(3,184);e43(3,224);e43(5,28);e43(5,52);e43(5,68);e43(5,92);e43(5,148);e43(5,172);e43(5,188);e43(5,212);e43(10,7);e43(10,23);e43(10,73);e43(10,103);e43(10,137);e43(10,167);e43(10,217);e43(10,233);e43(13,16);e43(13,56);e43(13,64);e43(13,104);e43(13,136);e43(13,176);e43(13,184);e43(13,224);e43(18,41);e43(18,71);e43(18,89);e43(18,119);e43(18,121);e43(18,151);e43(18,169);e43(18,199);e43(22,41);e43(22,71);e43(22,89);e43(22,119);e43(22,121);e43(22,151);e43(22,169);e43(22,199);e43(27,4);e43(27,44);e43(27,76);e43(27,116);e43(27,124);e43(27,164);e43(27,196);e43(27,236);e43(30,7);e43(30,23);e43(30,73);e43(30,103);e43(30,137);e43(30,167);e43(30,217);e43(30,233);e43(35,8);e43(35,32);e43(35,88);e43(35,112);e43(35,128);e43(35,152);e43(35,208);e43(35,232);e43(37,4);e43(37,44);e43(37,76);e43(37,116);e43(37,124);e43(37,164);e43(37,196);e43(37,236);e43(38,41);e43(38,71);e43(38,89);e43(38,119);e43(38,121);e43(38,151);e43(38,169);e43(38,199);e43(42,41);e43(42,71);e43(42,89);e43(42,119);e43(42,121);e43(42,151);e43(42,169);e43(42,199);e43(43,4);e43(43,44);e43(43,76);e43(43,116);e43(43,124);e43(43,164);e43(43,196);e43(43,236);e43(45,8);e43(45,32);e43(45,88);e43(45,112);e43(45,128);e43(45,152);e43(45,208);e43(45,232);e43(50,7);e43(50,23);e43(50,73);e43(50,103);e43(50,137);e43(50,167);e43(50,217);e43(50,233);e43(53,4);e43(53,44);e43(53,76);e43(53,116);e43(53,124);e43(53,164);e43(53,196);e43(53,236);e43(58,41);e43(58,71);e43(58,89);e43(58,119);e43(58,121);e43(58,151);e43(58,169);e43(58,199);e43(62,41);e43(62,71);e43(62,89);e43(62,119);e43(62,121);e43(62,151);e43(62,169);e43(62,199);e43(67,16);e43(67,56);e43(67,64);e43(67,104);e43(67,136);e43(67,176);e43(67,184);e43(67,224);e43(70,7);e43(70,23);e43(70,73);e43(70,103);e43(70,137);e43(70,167);e43(70,217);e43(70,233);e43(75,28);e43(75,52);e43(75,68);e43(75,92);e43(75,148);e43(75,172);e43(75,188);e43(75,212);e43(77,16);e43(77,56);e43(77,64);e43(77,104);e43(77,136);e43(77,176);e43(77,184);e43(77,224);e43(78,41);e43(78,71);e43(78,89);e43(78,119);e43(78,121);e43(78,151);e43(78,169);e43(78,199);e53(3,14);e53(3,26);e53(3,34);e53(3,46);e53(3,74);e53(3,86);e53(3,94);e53(3,106);e53(3,134);e53(3,146);e53(3,154);e53(3,166);e53(3,194);e53(3,206);e53(3,214);e53(3,226);e53(8,19);e53(8,29);e53(8,61);e53(8,109);e53(8,131);e53(8,179);e53(8,211);e53(8,221);e53(12,11);e53(12,59);e53(12,91);e53(12,101);e53(12,139);e53(12,149);e53(12,181);e53(12,229);e53(13,14);e53(13,26);e53(13,34);e53(13,46);e53(13,74);e53(13,86);e53(13,94);e53(13,106);e53(13,134);e53(13,146);e53(13,154);e53(13,166);e53(13,194);e53(13,206);e53(13,214);e53(13,226);e53(20,37);e53(20,43);e53(20,53);e53(20,107);e53(20,133);e53(20,187);e53(20,197);e53(20,203);e53(28,11);e53(28,59);e53(28,91);e53(28,101);e53(28,139);e53(28,149);e53(28,181);e53(28,229);e53(32,19);e53(32,29);e53(32,61);e53(32,109);e53(32,131);e53(32,179);e53(32,211);e53(32,221);e53(35,2);e53(35,22);e53(35,38);e53(35,58);e53(35,62);e53(35,82);e53(35,98);e53(35,118);e53(35,122);e53(35,142);e53(35,158);e53(35,178);e53(35,182);e53(35,202);e53(35,218);e53(35,238);e53(40,13);e53(40,67);e53(40,77);e53(40,83);e53(40,157);e53(40,163);e53(40,173);e53(40,227);e53(45,2);e53(45,22);e53(45,38);e53(45,58);e53(45,62);e53(45,82);e53(45,98);e53(45,118);e53(45,122);e53(45,142);e53(45,158);e53(45,178);e53(45,182);e53(45,202);e53(45,218);e53(45,238);e53(48,19);e53(48,29);e53(48,61);e53(48,109);e53(48,131);e53(48,179);e53(48,211);e53(48,221);e53(52,11);e53(52,59);e53(52,91);e53(52,101);e53(52,139);e53(52,149);e53(52,181);e53(52,229);e53(60,37);e53(60,43);e53(60,53);e53(60,107);e53(60,133);e53(60,187);e53(60,197);e53(60,203);e53(67,14);e53(67,26);e53(67,34);e53(67,46);e53(67,74);e53(67,86);e53(67,94);e53(67,106);e53(67,134);e53(67,146);e53(67,154);e53(67,166);e53(67,194);e53(67,206);e53(67,214);e53(67,226);e53(68,11);e53(68,59);e53(68,91);e53(68,101);e53(68,139);e53(68,149);e53(68,181);e53(68,229);e53(72,19);e53(72,29);e53(72,61);e53(72,109);e53(72,131);e53(72,179);e53(72,211);e53(72,221);e53(77,14);e53(77,26);e53(77,34);e53(77,46);e53(77,74);e53(77,86);e53(77,94);e53(77,106);e53(77,134);e53(77,146);e53(77,154);e53(77,166);e53(77,194);e53(77,206);e53(77,214);e53(77,226);e53(80,13);e53(80,67);e53(80,77);e53(80,83);e53(80,157);e53(80,163);e53(80,173);e53(80,227);e63(2,11);e63(2,59);e63(2,91);e63(2,101);e63(2,139);e63(2,149);e63(2,181);e63(2,229);e63(7,16);e63(7,56);e63(7,64);e63(7,104);e63(7,136);e63(7,176);e63(7,184);e63(7,224);e63(10,37);e63(10,43);e63(10,53);e63(10,107);e63(10,133);e63(10,187);e63(10,197);e63(10,203);e63(15,28);e63(15,52);e63(15,68);e63(15,92);e63(15,148);e63(15,172);e63(15,188);e63(15,212);e63(17,4);e63(17,44);e63(17,76);e63(17,116);e63(17,124);e63(17,164);e63(17,196);e63(17,236);e63(18,11);e63(18,59);e63(18,91);e63(18,101);e63(18,139);e63(18,149);e63(18,181);e63(18,229);e63(22,11);e63(22,59);e63(22,91);e63(22,101);e63(22,139);e63(22,149);e63(22,181);e63(22,229);e63(23,16);e63(23,56);e63(23,64);e63(23,104);e63(23,136);e63(23,176);e63(23,184);e63(23,224);e63(25,8);e63(25,32);e63(25,88);e63(25,112);e63(25,128);e63(25,152);e63(25,208);e63(25,232);e63(30,37);e63(30,43);e63(30,53);e63(30,107);e63(30,133);e63(30,187);e63(30,197);e63(30,203);e63(33,4);e63(33,44);e63(33,76);e63(33,116);e63(33,124);e63(33,164);e63(33,196);e63(33,236);e63(38,11);e63(38,59);e63(38,91);e63(38,101);e63(38,139);e63(38,149);e63(38,181);e63(38,229);e63(42,11);e63(42,59);e63(42,91);e63(42,101);e63(42,139);e63(42,149);e63(42,181);e63(42,229);e63(47,4);e63(47,44);e63(47,76);e63(47,116);e63(47,124);e63(47,164);e63(47,196);e63(47,236);e63(50,37);e63(50,43);e63(50,53);e63(50,107);e63(50,133);e63(50,187);e63(50,197);e63(50,203);e63(55,8);e63(55,32);e63(55,88);e63(55,112);e63(55,128);e63(55,152);e63(55,208);e63(55,232);e63(57,16);e63(57,56);e63(57,64);e63(57,104);e63(57,136);e63(57,176);e63(57,184);e63(57,224);e63(58,11);e63(58,59);e63(58,91);e63(58,101);e63(58,139);e63(58,149);e63(58,181);e63(58,229);e63(62,11);e63(62,59);e63(62,91);e63(62,101);e63(62,139);e63(62,149);e63(62,181);e63(62,229);e63(63,4);e63(63,44);e63(63,76);e63(63,116);e63(63,124);e63(63,164);e63(63,196);e63(63,236);e63(65,28);e63(65,52);e63(65,68);e63(65,92);e63(65,148);e63(65,172);e63(65,188);e63(65,212);e63(70,37);e63(70,43);e63(70,53);e63(70,107);e63(70,133);e63(70,187);e63(70,197);e63(70,203);e63(73,16);e63(73,56);e63(73,64);e63(73,104);e63(73,136);e63(73,176);e63(73,184);e63(73,224);e63(78,11);e63(78,59);e63(78,91);e63(78,101);e63(78,139);e63(78,149);e63(78,181);e63(78,229);e73(7,14);e73(7,26);e73(7,34);e73(7,46);e73(7,74);e73(7,86);e73(7,94);e73(7,106);e73(7,134);e73(7,146);e73(7,154);e73(7,166);e73(7,194);e73(7,206);e73(7,214);e73(7,226);e73(8,41);e73(8,71);e73(8,89);e73(8,119);e73(8,121);e73(8,151);e73(8,169);e73(8,199);e73(12,1);e73(12,31);e73(12,49);e73(12,79);e73(12,161);e73(12,191);e73(12,209);e73(12,239);e73(20,17);e73(20,47);e73(20,97);e73(20,113);e73(20,127);e73(20,143);e73(20,193);e73(20,223);e73(23,14);e73(23,26);e73(23,34);e73(23,46);e73(23,74);e73(23,86);e73(23,94);e73(23,106);e73(23,134);e73(23,146);e73(23,154);e73(23,166);e73(23,194);e73(23,206);e73(23,214);e73(23,226);e73(25,2);e73(25,22);e73(25,38);e73(25,58);e73(25,62);e73(25,82);e73(25,98);e73(25,118);e73(25,122);e73(25,142);e73(25,158);e73(25,178);e73(25,182);e73(25,202);e73(25,218);e73(25,238);e73(28,1);e73(28,31);e73(28,49);e73(28,79);e73(28,161);e73(28,191);e73(28,209);e73(28,239);e73(32,41);e73(32,71);e73(32,89);e73(32,119);e73(32,121);e73(32,151);e73(32,169);e73(32,199);e73(40,7);e73(40,23);e73(40,73);e73(40,103);e73(40,137);e73(40,167);e73(40,217);e73(40,233);e73(48,41);e73(48,71);e73(48,89);e73(48,119);e73(48,121);e73(48,151);e73(48,169);e73(48,199);e73(52,1);e73(52,31);e73(52,49);e73(52,79);e73(52,161);e73(52,191);e73(52,209);e73(52,239);e73(55,2);e73(55,22);e73(55,38);e73(55,58);e73(55,62);e73(55,82);e73(55,98);e73(55,118);e73(55,122);e73(55,142);e73(55,158);e73(55,178);e73(55,182);e73(55,202);e73(55,218);e73(55,238);e73(57,14);e73(57,26);e73(57,34);e73(57,46);e73(57,74);e73(57,86);e73(57,94);e73(57,106);e73(57,134);e73(57,146);e73(57,154);e73(57,166);e73(57,194);e73(57,206);e73(57,214);e73(57,226);e73(60,17);e73(60,47);e73(60,97);e73(60,113);e73(60,127);e73(60,143);e73(60,193);e73(60,223);e73(68,1);e73(68,31);e73(68,49);e73(68,79);e73(68,161);e73(68,191);e73(68,209);e73(68,239);e73(72,41);e73(72,71);e73(72,89);e73(72,119);e73(72,121);e73(72,151);e73(72,169);e73(72,199);e73(73,14);e73(73,26);e73(73,34);e73(73,46);e73(73,74);e73(73,86);e73(73,94);e73(73,106);e73(73,134);e73(73,146);e73(73,154);e73(73,166);e73(73,194);e73(73,206);e73(73,214);e73(73,226);e73(80,7);e73(80,23);e73(80,73);e73(80,103);e73(80,137);e73(80,167);e73(80,217);e73(80,233);break;
		case 23: e03(3,2);e03(3,22);e03(3,38);e03(3,58);e03(3,62);e03(3,82);e03(3,98);e03(3,118);e03(3,122);e03(3,142);e03(3,158);e03(3,178);e03(3,182);e03(3,202);e03(3,218);e03(3,238);e03(4,5);e03(4,85);e03(4,155);e03(4,235);e03(8,13);e03(8,67);e03(8,77);e03(8,83);e03(8,157);e03(8,163);e03(8,173);e03(8,227);e03(12,37);e03(12,43);e03(12,53);e03(12,107);e03(12,133);e03(12,187);e03(12,197);e03(12,203);e03(13,2);e03(13,22);e03(13,38);e03(13,58);e03(13,62);e03(13,82);e03(13,98);e03(13,118);e03(13,122);e03(13,142);e03(13,158);e03(13,178);e03(13,182);e03(13,202);e03(13,218);e03(13,238);e03(16,35);e03(16,115);e03(16,125);e03(16,205);e03(19,10);e03(19,50);e03(19,70);e03(19,110);e03(19,130);e03(19,170);e03(19,190);e03(19,230);e03(24,35);e03(24,115);e03(24,125);e03(24,205);e03(28,37);e03(28,43);e03(28,53);e03(28,107);e03(28,133);e03(28,187);e03(28,197);e03(28,203);e03(29,10);e03(29,50);e03(29,70);e03(29,110);e03(29,130);e03(29,170);e03(29,190);e03(29,230);e03(32,13);e03(32,67);e03(32,77);e03(32,83);e03(32,157);e03(32,163);e03(32,173);e03(32,227);e03(36,5);e03(36,85);e03(36,155);e03(36,235);e03(44,5);e03(44,85);e03(44,155);e03(44,235);e03(48,13);e03(48,67);e03(48,77);e03(48,83);e03(48,157);e03(48,163);e03(48,173);e03(48,227);e03(51,10);e03(51,50);e03(51,70);e03(51,110);e03(51,130);e03(51,170);e03(51,190);e03(51,230);e03(52,37);e03(52,43);e03(52,53);e03(52,107);e03(52,133);e03(52,187);e03(52,197);e03(52,203);e03(56,35);e03(56,115);e03(56,125);e03(56,205);e03(61,10);e03(61,50);e03(61,70);e03(61,110);e03(61,130);e03(61,170);e03(61,190);e03(61,230);e03(64,35);e03(64,115);e03(64,125);e03(64,205);e03(67,2);e03(67,22);e03(67,38);e03(67,58);e03(67,62);e03(67,82);e03(67,98);e03(67,118);e03(67,122);e03(67,142);e03(67,158);e03(67,178);e03(67,182);e03(67,202);e03(67,218);e03(67,238);e03(68,37);e03(68,43);e03(68,53);e03(68,107);e03(68,133);e03(68,187);e03(68,197);e03(68,203);e03(72,13);e03(72,67);e03(72,77);e03(72,83);e03(72,157);e03(72,163);e03(72,173);e03(72,227);e03(76,5);e03(76,85);e03(76,155);e03(76,235);e03(77,2);e03(77,22);e03(77,38);e03(77,58);e03(77,62);e03(77,82);e03(77,98);e03(77,118);e03(77,122);e03(77,142);e03(77,158);e03(77,178);e03(77,182);e03(77,202);e03(77,218);e03(77,238);e13(1,20);e13(1,100);e13(1,140);e13(1,220);e13(2,37);e13(2,43);e13(2,53);e13(2,107);e13(2,133);e13(2,187);e13(2,197);e13(2,203);e13(6,5);e13(6,85);e13(6,155);e13(6,235);e13(7,8);e13(7,32);e13(7,88);e13(7,112);e13(7,128);e13(7,152);e13(7,208);e13(7,232);e13(9,40);e13(9,80);e13(9,160);e13(9,200);e13(14,5);e13(14,85);e13(14,155);e13(14,235);e13(17,28);e13(17,52);e13(17,68);e13(17,92);e13(17,148);e13(17,172);e13(17,188);e13(17,212);e13(18,37);e13(18,43);e13(18,53);e13(18,107);e13(18,133);e13(18,187);e13(18,197);e13(18,203);e13(22,37);e13(22,43);e13(22,53);e13(22,107);e13(22,133);e13(22,187);e13(22,197);e13(22,203);e13(23,8);e13(23,32);e13(23,88);e13(23,112);e13(23,128);e13(23,152);e13(23,208);e13(23,232);e13(26,5);e13(26,85);e13(26,155);e13(26,235);e13(31,20);e13(31,100);e13(31,140);e13(31,220);e13(33,28);e13(33,52);e13(33,68);e13(33,92);e13(33,148);e13(33,172);e13(33,188);e13(33,212);e13(34,5);e13(34,85);e13(34,155);e13(34,235);e13(38,37);e13(38,43);e13(38,53);e13(38,107);e13(38,133);e13(38,187);e13(38,197);e13(38,203);e13(39,40);e13(39,80);e13(39,160);e13(39,200);e13(41,40);e13(41,80);e13(41,160);e13(41,200);e13(42,37);e13(42,43);e13(42,53);e13(42,107);e13(42,133);e13(42,187);e13(42,197);e13(42,203);e13(46,5);e13(46,85);e13(46,155);e13(46,235);e13(47,28);e13(47,52);e13(47,68);e13(47,92);e13(47,148);e13(47,172);e13(47,188);e13(47,212);e13(49,20);e13(49,100);e13(49,140);e13(49,220);e13(54,5);e13(54,85);e13(54,155);e13(54,235);e13(57,8);e13(57,32);e13(57,88);e13(57,112);e13(57,128);e13(57,152);e13(57,208);e13(57,232);e13(58,37);e13(58,43);e13(58,53);e13(58,107);e13(58,133);e13(58,187);e13(58,197);e13(58,203);e13(62,37);e13(62,43);e13(62,53);e13(62,107);e13(62,133);e13(62,187);e13(62,197);e13(62,203);e13(63,28);e13(63,52);e13(63,68);e13(63,92);e13(63,148);e13(63,172);e13(63,188);e13(63,212);e13(66,5);e13(66,85);e13(66,155);e13(66,235);e13(71,40);e13(71,80);e13(71,160);e13(71,200);e13(73,8);e13(73,32);e13(73,88);e13(73,112);e13(73,128);e13(73,152);e13(73,208);e13(73,232);e13(74,5);e13(74,85);e13(74,155);e13(74,235);e13(78,37);e13(78,43);e13(78,53);e13(78,107);e13(78,133);e13(78,187);e13(78,197);e13(78,203);e13(79,20);e13(79,100);e13(79,140);e13(79,220);e23(4,65);e23(4,95);e23(4,145);e23(4,175);e23(7,2);e23(7,22);e23(7,38);e23(7,58);e23(7,62);e23(7,82);e23(7,98);e23(7,118);e23(7,122);e23(7,142);e23(7,158);e23(7,178);e23(7,182);e23(7,202);e23(7,218);e23(7,238);e23(8,7);e23(8,23);e23(8,73);e23(8,103);e23(8,137);e23(8,167);e23(8,217);e23(8,233);e23(9,10);e23(9,50);e23(9,70);e23(9,110);e23(9,130);e23(9,170);e23(9,190);e23(9,230);e23(12,17);e23(12,47);e23(12,97);e23(12,113);e23(12,127);e23(12,143);e23(12,193);e23(12,223);e23(16,25);e23(16,55);e23(16,185);e23(16,215);e23(23,2);e23(23,22);e23(23,38);e23(23,58);e23(23,62);e23(23,82);e23(23,98);e23(23,118);e23(23,122);e23(23,142);e23(23,158);e23(23,178);e23(23,182);e23(23,202);e23(23,218);e23(23,238);e23(24,25);e23(24,55);e23(24,185);e23(24,215);e23(28,17);e23(28,47);e23(28,97);e23(28,113);e23(28,127);e23(28,143);e23(28,193);e23(28,223);e23(32,7);e23(32,23);e23(32,73);e23(32,103);e23(32,137);e23(32,167);e23(32,217);e23(32,233);e23(36,65);e23(36,95);e23(36,145);e23(36,175);e23(39,10);e23(39,50);e23(39,70);e23(39,110);e23(39,130);e23(39,170);e23(39,190);e23(39,230);e23(41,10);e23(41,50);e23(41,70);e23(41,110);e23(41,130);e23(41,170);e23(41,190);e23(41,230);e23(44,65);e23(44,95);e23(44,145);e23(44,175);e23(48,7);e23(48,23);e23(48,73);e23(48,103);e23(48,137);e23(48,167);e23(48,217);e23(48,233);e23(52,17);e23(52,47);e23(52,97);e23(52,113);e23(52,127);e23(52,143);e23(52,193);e23(52,223);e23(56,25);e23(56,55);e23(56,185);e23(56,215);e23(57,2);e23(57,22);e23(57,38);e23(57,58);e23(57,62);e23(57,82);e23(57,98);e23(57,118);e23(57,122);e23(57,142);e23(57,158);e23(57,178);e23(57,182);e23(57,202);e23(57,218);e23(57,238);e23(64,25);e23(64,55);e23(64,185);e23(64,215);e23(68,17);e23(68,47);e23(68,97);e23(68,113);e23(68,127);e23(68,143);e23(68,193);e23(68,223);e23(71,10);e23(71,50);e23(71,70);e23(71,110);e23(71,130);e23(71,170);e23(71,190);e23(71,230);e23(72,7);e23(72,23);e23(72,73);e23(72,103);e23(72,137);e23(72,167);e23(72,217);e23(72,233);e23(73,2);e23(73,22);e23(73,38);e23(73,58);e23(73,62);e23(73,82);e23(73,98);e23(73,118);e23(73,122);e23(73,142);e23(73,158);e23(73,178);e23(73,182);e23(73,202);e23(73,218);e23(73,238);e23(76,65);e23(76,95);e23(76,145);e23(76,175);e33(2,17);e33(2,47);e33(2,97);e33(2,113);e33(2,127);e33(2,143);e33(2,193);e33(2,223);e33(3,28);e33(3,52);e33(3,68);e33(3,92);e33(3,148);e33(3,172);e33(3,188);e33(3,212);e33(6,65);e33(6,95);e33(6,145);e33(6,175);e33(11,40);e33(11,80);e33(11,160);e33(11,200);e33(13,28);e33(13,52);e33(13,68);e33(13,92);e33(13,148);e33(13,172);e33(13,188);e33(13,212);e33(14,65);e33(14,95);e33(14,145);e33(14,175);e33(18,17);e33(18,47);e33(18,97);e33(18,113);e33(18,127);e33(18,143);e33(18,193);e33(18,223);e33(19,20);e33(19,100);e33(19,140);e33(19,220);e33(21,40);e33(21,80);e33(21,160);e33(21,200);e33(22,17);e33(22,47);e33(22,97);e33(22,113);e33(22,127);e33(22,143);e33(22,193);e33(22,223);e33(26,65);e33(26,95);e33(26,145);e33(26,175);e33(27,8);e33(27,32);e33(27,88);e33(27,112);e33(27,128);e33(27,152);e33(27,208);e33(27,232);e33(29,20);e33(29,100);e33(29,140);e33(29,220);e33(34,65);e33(34,95);e33(34,145);e33(34,175);e33(37,8);e33(37,32);e33(37,88);e33(37,112);e33(37,128);e33(37,152);e33(37,208);e33(37,232);e33(38,17);e33(38,47);e33(38,97);e33(38,113);e33(38,127);e33(38,143);e33(38,193);e33(38,223);e33(42,17);e33(42,47);e33(42,97);e33(42,113);e33(42,127);e33(42,143);e33(42,193);e33(42,223);e33(43,8);e33(43,32);e33(43,88);e33(43,112);e33(43,128);e33(43,152);e33(43,208);e33(43,232);e33(46,65);e33(46,95);e33(46,145);e33(46,175);e33(51,20);e33(51,100);e33(51,140);e33(51,220);e33(53,8);e33(53,32);e33(53,88);e33(53,112);e33(53,128);e33(53,152);e33(53,208);e33(53,232);e33(54,65);e33(54,95);e33(54,145);e33(54,175);e33(58,17);e33(58,47);e33(58,97);e33(58,113);e33(58,127);e33(58,143);e33(58,193);e33(58,223);e33(59,40);e33(59,80);e33(59,160);e33(59,200);e33(61,20);e33(61,100);e33(61,140);e33(61,220);e33(62,17);e33(62,47);e33(62,97);e33(62,113);e33(62,127);e33(62,143);e33(62,193);e33(62,223);e33(66,65);e33(66,95);e33(66,145);e33(66,175);e33(67,28);e33(67,52);e33(67,68);e33(67,92);e33(67,148);e33(67,172);e33(67,188);e33(67,212);e33(69,40);e33(69,80);e33(69,160);e33(69,200);e33(74,65);e33(74,95);e33(74,145);e33(74,175);e33(77,28);e33(77,52);e33(77,68);e33(77,92);e33(77,148);e33(77,172);e33(77,188);e33(77,212);e33(78,17);e33(78,47);e33(78,97);e33(78,113);e33(78,127);e33(78,143);e33(78,193);e33(78,223);e43(4,35);e43(4,115);e43(4,125);e43(4,205);e43(8,37);e43(8,43);e43(8,53);e43(8,107);e43(8,133);e43(8,187);e43(8,197);e43(8,203);e43(11,10);e43(11,50);e43(11,70);e43(11,110);e43(11,130);e43(11,170);e43(11,190);e43(11,230);e43(12,13);e43(12,67);e43(12,77);e43(12,83);e43(12,157);e43(12,163);e43(12,173);e43(12,227);e43(16,5);e43(16,85);e43(16,155);e43(16,235);e43(21,10);e43(21,50);e43(21,70);e43(21,110);e43(21,130);e43(21,170);e43(21,190);e43(21,230);e43(24,5);e43(24,85);e43(24,155);e43(24,235);e43(27,2);e43(27,22);e43(27,38);e43(27,58);e43(27,62);e43(27,82);e43(27,98);e43(27,118);e43(27,122);e43(27,142);e43(27,158);e43(27,178);e43(27,182);e43(27,202);e43(27,218);e43(27,238);e43(28,13);e43(28,67);e43(28,77);e43(28,83);e43(28,157);e43(28,163);e43(28,173);e43(28,227);e43(32,37);e43(32,43);e43(32,53);e43(32,107);e43(32,133);e43(32,187);e43(32,197);e43(32,203);e43(36,35);e43(36,115);e43(36,125);e43(36,205);e43(37,2);e43(37,22);e43(37,38);e43(37,58);e43(37,62);e43(37,82);e43(37,98);e43(37,118);e43(37,122);e43(37,142);e43(37,158);e43(37,178);e43(37,182);e43(37,202);e43(37,218);e43(37,238);e43(43,2);e43(43,22);e43(43,38);e43(43,58);e43(43,62);e43(43,82);e43(43,98);e43(43,118);e43(43,122);e43(43,142);e43(43,158);e43(43,178);e43(43,182);e43(43,202);e43(43,218);e43(43,238);e43(44,35);e43(44,115);e43(44,125);e43(44,205);e43(48,37);e43(48,43);e43(48,53);e43(48,107);e43(48,133);e43(48,187);e43(48,197);e43(48,203);e43(52,13);e43(52,67);e43(52,77);e43(52,83);e43(52,157);e43(52,163);e43(52,173);e43(52,227);e43(53,2);e43(53,22);e43(53,38);e43(53,58);e43(53,62);e43(53,82);e43(53,98);e43(53,118);e43(53,122);e43(53,142);e43(53,158);e43(53,178);e43(53,182);e43(53,202);e43(53,218);e43(53,238);e43(56,5);e43(56,85);e43(56,155);e43(56,235);e43(59,10);e43(59,50);e43(59,70);e43(59,110);e43(59,130);e43(59,170);e43(59,190);e43(59,230);e43(64,5);e43(64,85);e43(64,155);e43(64,235);e43(68,13);e43(68,67);e43(68,77);e43(68,83);e43(68,157);e43(68,163);e43(68,173);e43(68,227);e43(69,10);e43(69,50);e43(69,70);e43(69,110);e43(69,130);e43(69,170);e43(69,190);e43(69,230);e43(72,37);e43(72,43);e43(72,53);e43(72,107);e43(72,133);e43(72,187);e43(72,197);e43(72,203);e43(76,35);e43(76,115);e43(76,125);e43(76,205);e53(1,40);e53(1,80);e53(1,160);e53(1,200);e53(2,13);e53(2,67);e53(2,77);e53(2,83);e53(2,157);e53(2,163);e53(2,173);e53(2,227);e53(6,35);e53(6,115);e53(6,125);e53(6,205);e53(7,28);e53(7,52);e53(7,68);e53(7,92);e53(7,148);e53(7,172);e53(7,188);e53(7,212);e53(9,20);e53(9,100);e53(9,140);e53(9,220);e53(14,35);e53(14,115);e53(14,125);e53(14,205);e53(17,8);e53(17,32);e53(17,88);e53(17,112);e53(17,128);e53(17,152);e53(17,208);e53(17,232);e53(18,13);e53(18,67);e53(18,77);e53(18,83);e53(18,157);e53(18,163);e53(18,173);e53(18,227);e53(22,13);e53(22,67);e53(22,77);e53(22,83);e53(22,157);e53(22,163);e53(22,173);e53(22,227);e53(23,28);e53(23,52);e53(23,68);e53(23,92);e53(23,148);e53(23,172);e53(23,188);e53(23,212);e53(26,35);e53(26,115);e53(26,125);e53(26,205);e53(31,40);e53(31,80);e53(31,160);e53(31,200);e53(33,8);e53(33,32);e53(33,88);e53(33,112);e53(33,128);e53(33,152);e53(33,208);e53(33,232);e53(34,35);e53(34,115);e53(34,125);e53(34,205);e53(38,13);e53(38,67);e53(38,77);e53(38,83);e53(38,157);e53(38,163);e53(38,173);e53(38,227);e53(39,20);e53(39,100);e53(39,140);e53(39,220);e53(41,20);e53(41,100);e53(41,140);e53(41,220);e53(42,13);e53(42,67);e53(42,77);e53(42,83);e53(42,157);e53(42,163);e53(42,173);e53(42,227);e53(46,35);e53(46,115);e53(46,125);e53(46,205);e53(47,8);e53(47,32);e53(47,88);e53(47,112);e53(47,128);e53(47,152);e53(47,208);e53(47,232);e53(49,40);e53(49,80);e53(49,160);e53(49,200);e53(54,35);e53(54,115);e53(54,125);e53(54,205);e53(57,28);e53(57,52);e53(57,68);e53(57,92);e53(57,148);e53(57,172);e53(57,188);e53(57,212);e53(58,13);e53(58,67);e53(58,77);e53(58,83);e53(58,157);e53(58,163);e53(58,173);e53(58,227);e53(62,13);e53(62,67);e53(62,77);e53(62,83);e53(62,157);e53(62,163);e53(62,173);e53(62,227);e53(63,8);e53(63,32);e53(63,88);e53(63,112);e53(63,128);e53(63,152);e53(63,208);e53(63,232);e53(66,35);e53(66,115);e53(66,125);e53(66,205);e53(71,20);e53(71,100);e53(71,140);e53(71,220);e53(73,28);e53(73,52);e53(73,68);e53(73,92);e53(73,148);e53(73,172);e53(73,188);e53(73,212);e53(74,35);e53(74,115);e53(74,125);e53(74,205);e53(78,13);e53(78,67);e53(78,77);e53(78,83);e53(78,157);e53(78,163);e53(78,173);e53(78,227);e53(79,40);e53(79,80);e53(79,160);e53(79,200);e63(1,10);e63(1,50);e63(1,70);e63(1,110);e63(1,130);e63(1,170);e63(1,190);e63(1,230);e63(4,25);e63(4,55);e63(4,185);e63(4,215);e63(8,17);e63(8,47);e63(8,97);e63(8,113);e63(8,127);e63(8,143);e63(8,193);e63(8,223);e63(12,7);e63(12,23);e63(12,73);e63(12,103);e63(12,137);e63(12,167);e63(12,217);e63(12,233);e63(16,65);e63(16,95);e63(16,145);e63(16,175);e63(17,2);e63(17,22);e63(17,38);e63(17,58);e63(17,62);e63(17,82);e63(17,98);e63(17,118);e63(17,122);e63(17,142);e63(17,158);e63(17,178);e63(17,182);e63(17,202);e63(17,218);e63(17,238);e63(24,65);e63(24,95);e63(24,145);e63(24,175);e63(28,7);e63(28,23);e63(28,73);e63(28,103);e63(28,137);e63(28,167);e63(28,217);e63(28,233);e63(31,10);e63(31,50);e63(31,70);e63(31,110);e63(31,130);e63(31,170);e63(31,190);e63(31,230);e63(32,17);e63(32,47);e63(32,97);e63(32,113);e63(32,127);e63(32,143);e63(32,193);e63(32,223);e63(33,2);e63(33,22);e63(33,38);e63(33,58);e63(33,62);e63(33,82);e63(33,98);e63(33,118);e63(33,122);e63(33,142);e63(33,158);e63(33,178);e63(33,182);e63(33,202);e63(33,218);e63(33,238);e63(36,25);e63(36,55);e63(36,185);e63(36,215);e63(44,25);e63(44,55);e63(44,185);e63(44,215);e63(47,2);e63(47,22);e63(47,38);e63(47,58);e63(47,62);e63(47,82);e63(47,98);e63(47,118);e63(47,122);e63(47,142);e63(47,158);e63(47,178);e63(47,182);e63(47,202);e63(47,218);e63(47,238);e63(48,17);e63(48,47);e63(48,97);e63(48,113);e63(48,127);e63(48,143);e63(48,193);e63(48,223);e63(49,10);e63(49,50);e63(49,70);e63(49,110);e63(49,130);e63(49,170);e63(49,190);e63(49,230);e63(52,7);e63(52,23);e63(52,73);e63(52,103);e63(52,137);e63(52,167);e63(52,217);e63(52,233);e63(56,65);e63(56,95);e63(56,145);e63(56,175);e63(63,2);e63(63,22);e63(63,38);e63(63,58);e63(63,62);e63(63,82);e63(63,98);e63(63,118);e63(63,122);e63(63,142);e63(63,158);e63(63,178);e63(63,182);e63(63,202);e63(63,218);e63(63,238);e63(64,65);e63(64,95);e63(64,145);e63(64,175);e63(68,7);e63(68,23);e63(68,73);e63(68,103);e63(68,137);e63(68,167);e63(68,217);e63(68,233);e63(72,17);e63(72,47);e63(72,97);e63(72,113);e63(72,127);e63(72,143);e63(72,193);e63(72,223);e63(76,25);e63(76,55);e63(76,185);e63(76,215);e63(79,10);e63(79,50);e63(79,70);e63(79,110);e63(79,130);e63(79,170);e63(79,190);e63(79,230);e73(2,7);e73(2,23);e73(2,73);e73(2,103);e73(2,137);e73(2,167);e73(2,217);e73(2,233);e73(3,8);e73(3,32);e73(3,88);e73(3,112);e73(3,128);e73(3,152);e73(3,208);e73(3,232);e73(6,25);e73(6,55);e73(6,185);e73(6,215);e73(11,20);e73(11,100);e73(11,140);e73(11,220);e73(13,8);e73(13,32);e73(13,88);e73(13,112);e73(13,128);e73(13,152);e73(13,208);e73(13,232);e73(14,25);e73(14,55);e73(14,185);e73(14,215);e73(18,7);e73(18,23);e73(18,73);e73(18,103);e73(18,137);e73(18,167);e73(18,217);e73(18,233);e73(19,40);e73(19,80);e73(19,160);e73(19,200);e73(21,20);e73(21,100);e73(21,140);e73(21,220);e73(22,7);e73(22,23);e73(22,73);e73(22,103);e73(22,137);e73(22,167);e73(22,217);e73(22,233);e73(26,25);e73(26,55);e73(26,185);e73(26,215);e73(27,28);e73(27,52);e73(27,68);e73(27,92);e73(27,148);e73(27,172);e73(27,188);e73(27,212);e73(29,40);e73(29,80);e73(29,160);e73(29,200);e73(34,25);e73(34,55);e73(34,185);e73(34,215);e73(37,28);e73(37,52);e73(37,68);e73(37,92);e73(37,148);e73(37,172);e73(37,188);e73(37,212);e73(38,7);e73(38,23);e73(38,73);e73(38,103);e73(38,137);e73(38,167);e73(38,217);e73(38,233);e73(42,7);e73(42,23);e73(42,73);e73(42,103);e73(42,137);e73(42,167);e73(42,217);e73(42,233);e73(43,28);e73(43,52);e73(43,68);e73(43,92);e73(43,148);e73(43,172);e73(43,188);e73(43,212);e73(46,25);e73(46,55);e73(46,185);e73(46,215);e73(51,40);e73(51,80);e73(51,160);e73(51,200);e73(53,28);e73(53,52);e73(53,68);e73(53,92);e73(53,148);e73(53,172);e73(53,188);e73(53,212);e73(54,25);e73(54,55);e73(54,185);e73(54,215);e73(58,7);e73(58,23);e73(58,73);e73(58,103);e73(58,137);e73(58,167);e73(58,217);e73(58,233);e73(59,20);e73(59,100);e73(59,140);e73(59,220);e73(61,40);e73(61,80);e73(61,160);e73(61,200);e73(62,7);e73(62,23);e73(62,73);e73(62,103);e73(62,137);e73(62,167);e73(62,217);e73(62,233);e73(66,25);e73(66,55);e73(66,185);e73(66,215);e73(67,8);e73(67,32);e73(67,88);e73(67,112);e73(67,128);e73(67,152);e73(67,208);e73(67,232);e73(69,20);e73(69,100);e73(69,140);e73(69,220);e73(74,25);e73(74,55);e73(74,185);e73(74,215);e73(77,8);e73(77,32);e73(77,88);e73(77,112);e73(77,128);e73(77,152);e73(77,208);e73(77,232);e73(78,7);e73(78,23);e73(78,73);e73(78,103);e73(78,137);e73(78,167);e73(78,217);e73(78,233);break;
		case 47: e03(4,1);e03(4,31);e03(4,49);e03(4,79);e03(4,161);e03(4,191);e03(4,209);e03(4,239);e03(7,10);e03(7,50);e03(7,70);e03(7,110);e03(7,130);e03(7,170);e03(7,190);e03(7,230);e03(8,25);e03(8,55);e03(8,185);e03(8,215);e03(9,14);e03(9,26);e03(9,34);e03(9,46);e03(9,74);e03(9,86);e03(9,94);e03(9,106);e03(9,134);e03(9,146);e03(9,154);e03(9,166);e03(9,194);e03(9,206);e03(9,214);e03(9,226);e03(12,65);e03(12,95);e03(12,145);e03(12,175);e03(16,41);e03(16,71);e03(16,89);e03(16,119);e03(16,121);e03(16,151);e03(16,169);e03(16,199);e03(23,10);e03(23,50);e03(23,70);e03(23,110);e03(23,130);e03(23,170);e03(23,190);e03(23,230);e03(24,41);e03(24,71);e03(24,89);e03(24,119);e03(24,121);e03(24,151);e03(24,169);e03(24,199);e03(28,65);e03(28,95);e03(28,145);e03(28,175);e03(32,25);e03(32,55);e03(32,185);e03(32,215);e03(36,1);e03(36,31);e03(36,49);e03(36,79);e03(36,161);e03(36,191);e03(36,209);e03(36,239);e03(39,14);e03(39,26);e03(39,34);e03(39,46);e03(39,74);e03(39,86);e03(39,94);e03(39,106);e03(39,134);e03(39,146);e03(39,154);e03(39,166);e03(39,194);e03(39,206);e03(39,214);e03(39,226);e03(41,14);e03(41,26);e03(41,34);e03(41,46);e03(41,74);e03(41,86);e03(41,94);e03(41,106);e03(41,134);e03(41,146);e03(41,154);e03(41,166);e03(41,194);e03(41,206);e03(41,214);e03(41,226);e03(44,1);e03(44,31);e03(44,49);e03(44,79);e03(44,161);e03(44,191);e03(44,209);e03(44,239);e03(48,25);e03(48,55);e03(48,185);e03(48,215);e03(52,65);e03(52,95);e03(52,145);e03(52,175);e03(56,41);e03(56,71);e03(56,89);e03(56,119);e03(56,121);e03(56,151);e03(56,169);e03(56,199);e03(57,10);e03(57,50);e03(57,70);e03(57,110);e03(57,130);e03(57,170);e03(57,190);e03(57,230);e03(64,41);e03(64,71);e03(64,89);e03(64,119);e03(64,121);e03(64,151);e03(64,169);e03(64,199);e03(68,65);e03(68,95);e03(68,145);e03(68,175);e03(71,14);e03(71,26);e03(71,34);e03(71,46);e03(71,74);e03(71,86);e03(71,94);e03(71,106);e03(71,134);e03(71,146);e03(71,154);e03(71,166);e03(71,194);e03(71,206);e03(71,214);e03(71,226);e03(72,25);e03(72,55);e03(72,185);e03(72,215);e03(73,10);e03(73,50);e03(73,70);e03(73,110);e03(73,130);e03(73,170);e03(73,190);e03(73,230);e03(76,1);e03(76,31);e03(76,49);e03(76,79);e03(76,161);e03(76,191);e03(76,209);e03(76,239);e13(2,65);e13(2,95);e13(2,145);e13(2,175);e13(3,20);e13(3,100);e13(3,140);e13(3,220);e13(6,1);e13(6,31);e13(6,49);e13(6,79);e13(6,161);e13(6,191);e13(6,209);e13(6,239);e13(11,16);e13(11,56);e13(11,64);e13(11,104);e13(11,136);e13(11,176);e13(11,184);e13(11,224);e13(13,20);e13(13,100);e13(13,140);e13(13,220);e13(14,1);e13(14,31);e13(14,49);e13(14,79);e13(14,161);e13(14,191);e13(14,209);e13(14,239);e13(18,65);e13(18,95);e13(18,145);e13(18,175);e13(19,4);e13(19,44);e13(19,76);e13(19,116);e13(19,124);e13(19,164);e13(19,196);e13(19,236);e13(21,16);e13(21,56);e13(21,64);e13(21,104);e13(21,136);e13(21,176);e13(21,184);e13(21,224);e13(22,65);e13(22,95);e13(22,145);e13(22,175);e13(26,1);e13(26,31);e13(26,49);e13(26,79);e13(26,161);e13(26,191);e13(26,209);e13(26,239);e13(27,40);e13(27,80);e13(27,160);e13(27,200);e13(29,4);e13(29,44);e13(29,76);e13(29,116);e13(29,124);e13(29,164);e13(29,196);e13(29,236);e13(34,1);e13(34,31);e13(34,49);e13(34,79);e13(34,161);e13(34,191);e13(34,209);e13(34,239);e13(37,40);e13(37,80);e13(37,160);e13(37,200);e13(38,65);e13(38,95);e13(38,145);e13(38,175);e13(42,65);e13(42,95);e13(42,145);e13(42,175);e13(43,40);e13(43,80);e13(43,160);e13(43,200);e13(46,1);e13(46,31);e13(46,49);e13(46,79);e13(46,161);e13(46,191);e13(46,209);e13(46,239);e13(51,4);e13(51,44);e13(51,76);e13(51,116);e13(51,124);e13(51,164);e13(51,196);e13(51,236);e13(53,40);e13(53,80);e13(53,160);e13(53,200);e13(54,1);e13(54,31);e13(54,49);e13(54,79);e13(54,161);e13(54,191);e13(54,209);e13(54,239);e13(58,65);e13(58,95);e13(58,145);e13(58,175);e13(59,16);e13(59,56);e13(59,64);e13(59,104);e13(59,136);e13(59,176);e13(59,184);e13(59,224);e13(61,4);e13(61,44);e13(61,76);e13(61,116);e13(61,124);e13(61,164);e13(61,196);e13(61,236);e13(62,65);e13(62,95);e13(62,145);e13(62,175);e13(66,1);e13(66,31);e13(66,49);e13(66,79);e13(66,161);e13(66,191);e13(66,209);e13(66,239);e13(67,20);e13(67,100);e13(67,140);e13(67,220);e13(69,16);e13(69,56);e13(69,64);e13(69,104);e13(69,136);e13(69,176);e13(69,184);e13(69,224);e13(74,1);e13(74,31);e13(74,49);e13(74,79);e13(74,161);e13(74,191);e13(74,209);e13(74,239);e13(77,20);e13(77,100);e13(77,140);e13(77,220);e13(78,65);e13(78,95);e13(78,145);e13(78,175);e23(4,19);e23(4,29);e23(4,61);e23(4,109);e23(4,131);e23(4,179);e23(4,211);e23(4,221);e23(8,5);e23(8,85);e23(8,155);e23(8,235);e23(11,14);e23(11,26);e23(11,34);e23(11,46);e23(11,74);e23(11,86);e23(11,94);e23(11,106);e23(11,134);e23(11,146);e23(11,154);e23(11,166);e23(11,194);e23(11,206);e23(11,214);e23(11,226);e23(12,35);e23(12,115);e23(12,125);e23(12,205);e23(16,11);e23(16,59);e23(16,91);e23(16,101);e23(16,139);e23(16,149);e23(16,181);e23(16,229);e23(21,14);e23(21,26);e23(21,34);e23(21,46);e23(21,74);e23(21,86);e23(21,94);e23(21,106);e23(21,134);e23(21,146);e23(21,154);e23(21,166);e23(21,194);e23(21,206);e23(21,214);e23(21,226);e23(24,11);e23(24,59);e23(24,91);e23(24,101);e23(24,139);e23(24,149);e23(24,181);e23(24,229);e23(27,10);e23(27,50);e23(27,70);e23(27,110);e23(27,130);e23(27,170);e23(27,190);e23(27,230);e23(28,35);e23(28,115);e23(28,125);e23(28,205);e23(32,5);e23(32,85);e23(32,155);e23(32,235);e23(36,19);e23(36,29);e23(36,61);e23(36,109);e23(36,131);e23(36,179);e23(36,211);e23(36,221);e23(37,10);e23(37,50);e23(37,70);e23(37,110);e23(37,130);e23(37,170);e23(37,190);e23(37,230);e23(43,10);e23(43,50);e23(43,70);e23(43,110);e23(43,130);e23(43,170);e23(43,190);e23(43,230);e23(44,19);e23(44,29);e23(44,61);e23(44,109);e23(44,131);e23(44,179);e23(44,211);e23(44,221);e23(48,5);e23(48,85);e23(48,155);e23(48,235);e23(52,35);e23(52,115);e23(52,125);e23(52,205);e23(53,10);e23(53,50);e23(53,70);e23(53,110);e23(53,130);e23(53,170);e23(53,190);e23(53,230);e23(56,11);e23(56,59);e23(56,91);e23(56,101);e23(56,139);e23(56,149);e23(56,181);e23(56,229);e23(59,14);e23(59,26);e23(59,34);e23(59,46);e23(59,74);e23(59,86);e23(59,94);e23(59,106);e23(59,134);e23(59,146);e23(59,154);e23(59,166);e23(59,194);e23(59,206);e23(59,214);e23(59,226);e23(64,11);e23(64,59);e23(64,91);e23(64,101);e23(64,139);e23(64,149);e23(64,181);e23(64,229);e23(68,35);e23(68,115);e23(68,125);e23(68,205);e23(69,14);e23(69,26);e23(69,34);e23(69,46);e23(69,74);e23(69,86);e23(69,94);e23(69,106);e23(69,134);e23(69,146);e23(69,154);e23(69,166);e23(69,194);e23(69,206);e23(69,214);e23(69,226);e23(72,5);e23(72,85);e23(72,155);e23(72,235);e23(76,19);e23(76,29);e23(76,61);e23(76,109);e23(76,131);e23(76,179);e23(76,211);e23(76,221);e33(1,16);e33(1,56);e33(1,64);e33(1,104);e33(1,136);e33(1,176);e33(1,184);e33(1,224);e33(2,35);e33(2,115);e33(2,125);e33(2,205);e33(6,19);e33(6,29);e33(6,61);e33(6,109);e33(6,131);e33(6,179);e33(6,211);e33(6,221);e33(7,20);e33(7,100);e33(7,140);e33(7,220);e33(9,4);e33(9,44);e33(9,76);e33(9,116);e33(9,124);e33(9,164);e33(9,196);e33(9,236);e33(14,19);e33(14,29);e33(14,61);e33(14,109);e33(14,131);e33(14,179);e33(14,211);e33(14,221);e33(17,40);e33(17,80);e33(17,160);e33(17,200);e33(18,35);e33(18,115);e33(18,125);e33(18,205);e33(22,35);e33(22,115);e33(22,125);e33(22,205);e33(23,20);e33(23,100);e33(23,140);e33(23,220);e33(26,19);e33(26,29);e33(26,61);e33(26,109);e33(26,131);e33(26,179);e33(26,211);e33(26,221);e33(31,16);e33(31,56);e33(31,64);e33(31,104);e33(31,136);e33(31,176);e33(31,184);e33(31,224);e33(33,40);e33(33,80);e33(33,160);e33(33,200);e33(34,19);e33(34,29);e33(34,61);e33(34,109);e33(34,131);e33(34,179);e33(34,211);e33(34,221);e33(38,35);e33(38,115);e33(38,125);e33(38,205);e33(39,4);e33(39,44);e33(39,76);e33(39,116);e33(39,124);e33(39,164);e33(39,196);e33(39,236);e33(41,4);e33(41,44);e33(41,76);e33(41,116);e33(41,124);e33(41,164);e33(41,196);e33(41,236);e33(42,35);e33(42,115);e33(42,125);e33(42,205);e33(46,19);e33(46,29);e33(46,61);e33(46,109);e33(46,131);e33(46,179);e33(46,211);e33(46,221);e33(47,40);e33(47,80);e33(47,160);e33(47,200);e33(49,16);e33(49,56);e33(49,64);e33(49,104);e33(49,136);e33(49,176);e33(49,184);e33(49,224);e33(54,19);e33(54,29);e33(54,61);e33(54,109);e33(54,131);e33(54,179);e33(54,211);e33(54,221);e33(57,20);e33(57,100);e33(57,140);e33(57,220);e33(58,35);e33(58,115);e33(58,125);e33(58,205);e33(62,35);e33(62,115);e33(62,125);e33(62,205);e33(63,40);e33(63,80);e33(63,160);e33(63,200);e33(66,19);e33(66,29);e33(66,61);e33(66,109);e33(66,131);e33(66,179);e33(66,211);e33(66,221);e33(71,4);e33(71,44);e33(71,76);e33(71,116);e33(71,124);e33(71,164);e33(71,196);e33(71,236);e33(73,20);e33(73,100);e33(73,140);e33(73,220);e33(74,19);e33(74,29);e33(74,61);e33(74,109);e33(74,131);e33(74,179);e33(74,211);e33(74,221);e33(78,35);e33(78,115);e33(78,125);e33(78,205);e33(79,16);e33(79,56);e33(79,64);e33(79,104);e33(79,136);e33(79,176);e33(79,184);e33(79,224);e43(1,14);e43(1,26);e43(1,34);e43(1,46);e43(1,74);e43(1,86);e43(1,94);e43(1,106);e43(1,134);e43(1,146);e43(1,154);e43(1,166);e43(1,194);e43(1,206);e43(1,214);e43(1,226);e43(4,41);e43(4,71);e43(4,89);e43(4,119);e43(4,121);e43(4,151);e43(4,169);e43(4,199);e43(8,65);e43(8,95);e43(8,145);e43(8,175);e43(12,25);e43(12,55);e43(12,185);e43(12,215);e43(16,1);e43(16,31);e43(16,49);e43(16,79);e43(16,161);e43(16,191);e43(16,209);e43(16,239);e43(17,10);e43(17,50);e43(17,70);e43(17,110);e43(17,130);e43(17,170);e43(17,190);e43(17,230);e43(24,1);e43(24,31);e43(24,49);e43(24,79);e43(24,161);e43(24,191);e43(24,209);e43(24,239);e43(28,25);e43(28,55);e43(28,185);e43(28,215);e43(31,14);e43(31,26);e43(31,34);e43(31,46);e43(31,74);e43(31,86);e43(31,94);e43(31,106);e43(31,134);e43(31,146);e43(31,154);e43(31,166);e43(31,194);e43(31,206);e43(31,214);e43(31,226);e43(32,65);e43(32,95);e43(32,145);e43(32,175);e43(33,10);e43(33,50);e43(33,70);e43(33,110);e43(33,130);e43(33,170);e43(33,190);e43(33,230);e43(36,41);e43(36,71);e43(36,89);e43(36,119);e43(36,121);e43(36,151);e43(36,169);e43(36,199);e43(44,41);e43(44,71);e43(44,89);e43(44,119);e43(44,121);e43(44,151);e43(44,169);e43(44,199);e43(47,10);e43(47,50);e43(47,70);e43(47,110);e43(47,130);e43(47,170);e43(47,190);e43(47,230);e43(48,65);e43(48,95);e43(48,145);e43(48,175);e43(49,14);e43(49,26);e43(49,34);e43(49,46);e43(49,74);e43(49,86);e43(49,94);e43(49,106);e43(49,134);e43(49,146);e43(49,154);e43(49,166);e43(49,194);e43(49,206);e43(49,214);e43(49,226);e43(52,25);e43(52,55);e43(52,185);e43(52,215);e43(56,1);e43(56,31);e43(56,49);e43(56,79);e43(56,161);e43(56,191);e43(56,209);e43(56,239);e43(63,10);e43(63,50);e43(63,70);e43(63,110);e43(63,130);e43(63,170);e43(63,190);e43(63,230);e43(64,1);e43(64,31);e43(64,49);e43(64,79);e43(64,161);e43(64,191);e43(64,209);e43(64,239);e43(68,25);e43(68,55);e43(68,185);e43(68,215);e43(72,65);e43(72,95);e43(72,145);e43(72,175);e43(76,41);e43(76,71);e43(76,89);e43(76,119);e43(76,121);e43(76,151);e43(76,169);e43(76,199);e43(79,14);e43(79,26);e43(79,34);e43(79,46);e43(79,74);e43(79,86);e43(79,94);e43(79,106);e43(79,134);e43(79,146);e43(79,154);e43(79,166);e43(79,194);e43(79,206);e43(79,214);e43(79,226);e53(2,25);e53(2,55);e53(2,185);e53(2,215);e53(3,40);e53(3,80);e53(3,160);e53(3,200);e53(6,41);e53(6,71);e53(6,89);e53(6,119);e53(6,121);e53(6,151);e53(6,169);e53(6,199);e53(11,4);e53(11,44);e53(11,76);e53(11,116);e53(11,124);e53(11,164);e53(11,196);e53(11,236);e53(13,40);e53(13,80);e53(13,160);e53(13,200);e53(14,41);e53(14,71);e53(14,89);e53(14,119);e53(14,121);e53(14,151);e53(14,169);e53(14,199);e53(18,25);e53(18,55);e53(18,185);e53(18,215);e53(19,16);e53(19,56);e53(19,64);e53(19,104);e53(19,136);e53(19,176);e53(19,184);e53(19,224);e53(21,4);e53(21,44);e53(21,76);e53(21,116);e53(21,124);e53(21,164);e53(21,196);e53(21,236);e53(22,25);e53(22,55);e53(22,185);e53(22,215);e53(26,41);e53(26,71);e53(26,89);e53(26,119);e53(26,121);e53(26,151);e53(26,169);e53(26,199);e53(27,20);e53(27,100);e53(27,140);e53(27,220);e53(29,16);e53(29,56);e53(29,64);e53(29,104);e53(29,136);e53(29,176);e53(29,184);e53(29,224);e53(34,41);e53(34,71);e53(34,89);e53(34,119);e53(34,121);e53(34,151);e53(34,169);e53(34,199);e53(37,20);e53(37,100);e53(37,140);e53(37,220);e53(38,25);e53(38,55);e53(38,185);e53(38,215);e53(42,25);e53(42,55);e53(42,185);e53(42,215);e53(43,20);e53(43,100);e53(43,140);e53(43,220);e53(46,41);e53(46,71);e53(46,89);e53(46,119);e53(46,121);e53(46,151);e53(46,169);e53(46,199);e53(51,16);e53(51,56);e53(51,64);e53(51,104);e53(51,136);e53(51,176);e53(51,184);e53(51,224);e53(53,20);e53(53,100);e53(53,140);e53(53,220);e53(54,41);e53(54,71);e53(54,89);e53(54,119);e53(54,121);e53(54,151);e53(54,169);e53(54,199);e53(58,25);e53(58,55);e53(58,185);e53(58,215);e53(59,4);e53(59,44);e53(59,76);e53(59,116);e53(59,124);e53(59,164);e53(59,196);e53(59,236);e53(61,16);e53(61,56);e53(61,64);e53(61,104);e53(61,136);e53(61,176);e53(61,184);e53(61,224);e53(62,25);e53(62,55);e53(62,185);e53(62,215);e53(66,41);e53(66,71);e53(66,89);e53(66,119);e53(66,121);e53(66,151);e53(66,169);e53(66,199);e53(67,40);e53(67,80);e53(67,160);e53(67,200);e53(69,4);e53(69,44);e53(69,76);e53(69,116);e53(69,124);e53(69,164);e53(69,196);e53(69,236);e53(74,41);e53(74,71);e53(74,89);e53(74,119);e53(74,121);e53(74,151);e53(74,169);e53(74,199);e53(77,40);e53(77,80);e53(77,160);e53(77,200);e53(78,25);e53(78,55);e53(78,185);e53(78,215);e63(3,10);e63(3,50);e63(3,70);e63(3,110);e63(3,130);e63(3,170);e63(3,190);e63(3,230);e63(4,11);e63(4,59);e63(4,91);e63(4,101);e63(4,139);e63(4,149);e63(4,181);e63(4,229);e63(8,35);e63(8,115);e63(8,125);e63(8,205);e63(12,5);e63(12,85);e63(12,155);e63(12,235);e63(13,10);e63(13,50);e63(13,70);e63(13,110);e63(13,130);e63(13,170);e63(13,190);e63(13,230);e63(16,19);e63(16,29);e63(16,61);e63(16,109);e63(16,131);e63(16,179);e63(16,211);e63(16,221);e63(19,14);e63(19,26);e63(19,34);e63(19,46);e63(19,74);e63(19,86);e63(19,94);e63(19,106);e63(19,134);e63(19,146);e63(19,154);e63(19,166);e63(19,194);e63(19,206);e63(19,214);e63(19,226);e63(24,19);e63(24,29);e63(24,61);e63(24,109);e63(24,131);e63(24,179);e63(24,211);e63(24,221);e63(28,5);e63(28,85);e63(28,155);e63(28,235);e63(29,14);e63(29,26);e63(29,34);e63(29,46);e63(29,74);e63(29,86);e63(29,94);e63(29,106);e63(29,134);e63(29,146);e63(29,154);e63(29,166);e63(29,194);e63(29,206);e63(29,214);e63(29,226);e63(32,35);e63(32,115);e63(32,125);e63(32,205);e63(36,11);e63(36,59);e63(36,91);e63(36,101);e63(36,139);e63(36,149);e63(36,181);e63(36,229);e63(44,11);e63(44,59);e63(44,91);e63(44,101);e63(44,139);e63(44,149);e63(44,181);e63(44,229);e63(48,35);e63(48,115);e63(48,125);e63(48,205);e63(51,14);e63(51,26);e63(51,34);e63(51,46);e63(51,74);e63(51,86);e63(51,94);e63(51,106);e63(51,134);e63(51,146);e63(51,154);e63(51,166);e63(51,194);e63(51,206);e63(51,214);e63(51,226);e63(52,5);e63(52,85);e63(52,155);e63(52,235);e63(56,19);e63(56,29);e63(56,61);e63(56,109);e63(56,131);e63(56,179);e63(56,211);e63(56,221);e63(61,14);e63(61,26);e63(61,34);e63(61,46);e63(61,74);e63(61,86);e63(61,94);e63(61,106);e63(61,134);e63(61,146);e63(61,154);e63(61,166);e63(61,194);e63(61,206);e63(61,214);e63(61,226);e63(64,19);e63(64,29);e63(64,61);e63(64,109);e63(64,131);e63(64,179);e63(64,211);e63(64,221);e63(67,10);e63(67,50);e63(67,70);e63(67,110);e63(67,130);e63(67,170);e63(67,190);e63(67,230);e63(68,5);e63(68,85);e63(68,155);e63(68,235);e63(72,35);e63(72,115);e63(72,125);e63(72,205);e63(76,11);e63(76,59);e63(76,91);e63(76,101);e63(76,139);e63(76,149);e63(76,181);e63(76,229);e63(77,10);e63(77,50);e63(77,70);e63(77,110);e63(77,130);e63(77,170);e63(77,190);e63(77,230);e73(1,4);e73(1,44);e73(1,76);e73(1,116);e73(1,124);e73(1,164);e73(1,196);e73(1,236);e73(2,5);e73(2,85);e73(2,155);e73(2,235);e73(6,11);e73(6,59);e73(6,91);e73(6,101);e73(6,139);e73(6,149);e73(6,181);e73(6,229);e73(7,40);e73(7,80);e73(7,160);e73(7,200);e73(9,16);e73(9,56);e73(9,64);e73(9,104);e73(9,136);e73(9,176);e73(9,184);e73(9,224);e73(14,11);e73(14,59);e73(14,91);e73(14,101);e73(14,139);e73(14,149);e73(14,181);e73(14,229);e73(17,20);e73(17,100);e73(17,140);e73(17,220);e73(18,5);e73(18,85);e73(18,155);e73(18,235);e73(22,5);e73(22,85);e73(22,155);e73(22,235);e73(23,40);e73(23,80);e73(23,160);e73(23,200);e73(26,11);e73(26,59);e73(26,91);e73(26,101);e73(26,139);e73(26,149);e73(26,181);e73(26,229);e73(31,4);e73(31,44);e73(31,76);e73(31,116);e73(31,124);e73(31,164);e73(31,196);e73(31,236);e73(33,20);e73(33,100);e73(33,140);e73(33,220);e73(34,11);e73(34,59);e73(34,91);e73(34,101);e73(34,139);e73(34,149);e73(34,181);e73(34,229);e73(38,5);e73(38,85);e73(38,155);e73(38,235);e73(39,16);e73(39,56);e73(39,64);e73(39,104);e73(39,136);e73(39,176);e73(39,184);e73(39,224);e73(41,16);e73(41,56);e73(41,64);e73(41,104);e73(41,136);e73(41,176);e73(41,184);e73(41,224);e73(42,5);e73(42,85);e73(42,155);e73(42,235);e73(46,11);e73(46,59);e73(46,91);e73(46,101);e73(46,139);e73(46,149);e73(46,181);e73(46,229);e73(47,20);e73(47,100);e73(47,140);e73(47,220);e73(49,4);e73(49,44);e73(49,76);e73(49,116);e73(49,124);e73(49,164);e73(49,196);e73(49,236);e73(54,11);e73(54,59);e73(54,91);e73(54,101);e73(54,139);e73(54,149);e73(54,181);e73(54,229);e73(57,40);e73(57,80);e73(57,160);e73(57,200);e73(58,5);e73(58,85);e73(58,155);e73(58,235);e73(62,5);e73(62,85);e73(62,155);e73(62,235);e73(63,20);e73(63,100);e73(63,140);e73(63,220);e73(66,11);e73(66,59);e73(66,91);e73(66,101);e73(66,139);e73(66,149);e73(66,181);e73(66,229);e73(71,16);e73(71,56);e73(71,64);e73(71,104);e73(71,136);e73(71,176);e73(71,184);e73(71,224);e73(73,40);e73(73,80);e73(73,160);e73(73,200);e73(74,11);e73(74,59);e73(74,91);e73(74,101);e73(74,139);e73(74,149);e73(74,181);e73(74,229);e73(78,5);e73(78,85);e73(78,155);e73(78,235);e73(79,4);e73(79,44);e73(79,76);e73(79,116);e73(79,124);e73(79,164);e73(79,196);e73(79,236);break;
		case 59: e03(5,4);e03(5,44);e03(5,76);e03(5,116);e03(5,124);e03(5,164);e03(5,196);e03(5,236);e03(6,7);e03(6,23);e03(6,73);e03(6,103);e03(6,137);e03(6,167);e03(6,217);e03(6,233);e03(10,41);e03(10,71);e03(10,89);e03(10,119);e03(10,121);e03(10,151);e03(10,169);e03(10,199);e03(11,28);e03(11,52);e03(11,68);e03(11,92);e03(11,148);e03(11,172);e03(11,188);e03(11,212);e03(14,7);e03(14,23);e03(14,73);e03(14,103);e03(14,137);e03(14,167);e03(14,217);e03(14,233);e03(19,8);e03(19,32);e03(19,88);e03(19,112);e03(19,128);e03(19,152);e03(19,208);e03(19,232);e03(21,28);e03(21,52);e03(21,68);e03(21,92);e03(21,148);e03(21,172);e03(21,188);e03(21,212);e03(26,7);e03(26,23);e03(26,73);e03(26,103);e03(26,137);e03(26,167);e03(26,217);e03(26,233);e03(29,8);e03(29,32);e03(29,88);e03(29,112);e03(29,128);e03(29,152);e03(29,208);e03(29,232);e03(30,41);e03(30,71);e03(30,89);e03(30,119);e03(30,121);e03(30,151);e03(30,169);e03(30,199);e03(34,7);e03(34,23);e03(34,73);e03(34,103);e03(34,137);e03(34,167);e03(34,217);e03(34,233);e03(35,16);e03(35,56);e03(35,64);e03(35,104);e03(35,136);e03(35,176);e03(35,184);e03(35,224);e03(45,16);e03(45,56);e03(45,64);e03(45,104);e03(45,136);e03(45,176);e03(45,184);e03(45,224);e03(46,7);e03(46,23);e03(46,73);e03(46,103);e03(46,137);e03(46,167);e03(46,217);e03(46,233);e03(50,41);e03(50,71);e03(50,89);e03(50,119);e03(50,121);e03(50,151);e03(50,169);e03(50,199);e03(51,8);e03(51,32);e03(51,88);e03(51,112);e03(51,128);e03(51,152);e03(51,208);e03(51,232);e03(54,7);e03(54,23);e03(54,73);e03(54,103);e03(54,137);e03(54,167);e03(54,217);e03(54,233);e03(59,28);e03(59,52);e03(59,68);e03(59,92);e03(59,148);e03(59,172);e03(59,188);e03(59,212);e03(61,8);e03(61,32);e03(61,88);e03(61,112);e03(61,128);e03(61,152);e03(61,208);e03(61,232);e03(66,7);e03(66,23);e03(66,73);e03(66,103);e03(66,137);e03(66,167);e03(66,217);e03(66,233);e03(69,28);e03(69,52);e03(69,68);e03(69,92);e03(69,148);e03(69,172);e03(69,188);e03(69,212);e03(70,41);e03(70,71);e03(70,89);e03(70,119);e03(70,121);e03(70,151);e03(70,169);e03(70,199);e03(74,7);e03(74,23);e03(74,73);e03(74,103);e03(74,137);e03(74,167);e03(74,217);e03(74,233);e03(75,4);e03(75,44);e03(75,76);e03(75,116);e03(75,124);e03(75,164);e03(75,196);e03(75,236);e13(4,37);e13(4,43);e13(4,53);e13(4,107);e13(4,133);e13(4,187);e13(4,197);e13(4,203);e13(16,13);e13(16,67);e13(16,77);e13(16,83);e13(16,157);e13(16,163);e13(16,173);e13(16,227);e13(19,2);e13(19,22);e13(19,38);e13(19,58);e13(19,62);e13(19,82);e13(19,98);e13(19,118);e13(19,122);e13(19,142);e13(19,158);e13(19,178);e13(19,182);e13(19,202);e13(19,218);e13(19,238);e13(20,11);e13(20,59);e13(20,91);e13(20,101);e13(20,139);e13(20,149);e13(20,181);e13(20,229);e13(24,13);e13(24,67);e13(24,77);e13(24,83);e13(24,157);e13(24,163);e13(24,173);e13(24,227);e13(29,2);e13(29,22);e13(29,38);e13(29,58);e13(29,62);e13(29,82);e13(29,98);e13(29,118);e13(29,122);e13(29,142);e13(29,158);e13(29,178);e13(29,182);e13(29,202);e13(29,218);e13(29,238);e13(35,14);e13(35,26);e13(35,34);e13(35,46);e13(35,74);e13(35,86);e13(35,94);e13(35,106);e13(35,134);e13(35,146);e13(35,154);e13(35,166);e13(35,194);e13(35,206);e13(35,214);e13(35,226);e13(36,37);e13(36,43);e13(36,53);e13(36,107);e13(36,133);e13(36,187);e13(36,197);e13(36,203);e13(40,19);e13(40,29);e13(40,61);e13(40,109);e13(40,131);e13(40,179);e13(40,211);e13(40,221);e13(44,37);e13(44,43);e13(44,53);e13(44,107);e13(44,133);e13(44,187);e13(44,197);e13(44,203);e13(45,14);e13(45,26);e13(45,34);e13(45,46);e13(45,74);e13(45,86);e13(45,94);e13(45,106);e13(45,134);e13(45,146);e13(45,154);e13(45,166);e13(45,194);e13(45,206);e13(45,214);e13(45,226);e13(51,2);e13(51,22);e13(51,38);e13(51,58);e13(51,62);e13(51,82);e13(51,98);e13(51,118);e13(51,122);e13(51,142);e13(51,158);e13(51,178);e13(51,182);e13(51,202);e13(51,218);e13(51,238);e13(56,13);e13(56,67);e13(56,77);e13(56,83);e13(56,157);e13(56,163);e13(56,173);e13(56,227);e13(60,11);e13(60,59);e13(60,91);e13(60,101);e13(60,139);e13(60,149);e13(60,181);e13(60,229);e13(61,2);e13(61,22);e13(61,38);e13(61,58);e13(61,62);e13(61,82);e13(61,98);e13(61,118);e13(61,122);e13(61,142);e13(61,158);e13(61,178);e13(61,182);e13(61,202);e13(61,218);e13(61,238);e13(64,13);e13(64,67);e13(64,77);e13(64,83);e13(64,157);e13(64,163);e13(64,173);e13(64,227);e13(76,37);e13(76,43);e13(76,53);e13(76,107);e13(76,133);e13(76,187);e13(76,197);e13(76,203);e13(80,19);e13(80,29);e13(80,61);e13(80,109);e13(80,131);e13(80,179);e13(80,211);e13(80,221);e23(1,28);e23(1,52);e23(1,68);e23(1,92);e23(1,148);e23(1,172);e23(1,188);e23(1,212);e23(6,37);e23(6,43);e23(6,53);e23(6,107);e23(6,133);e23(6,187);e23(6,197);e23(6,203);e23(9,8);e23(9,32);e23(9,88);e23(9,112);e23(9,128);e23(9,152);e23(9,208);e23(9,232);e23(10,11);e23(10,59);e23(10,91);e23(10,101);e23(10,139);e23(10,149);e23(10,181);e23(10,229);e23(14,37);e23(14,43);e23(14,53);e23(14,107);e23(14,133);e23(14,187);e23(14,197);e23(14,203);e23(15,4);e23(15,44);e23(15,76);e23(15,116);e23(15,124);e23(15,164);e23(15,196);e23(15,236);e23(25,16);e23(25,56);e23(25,64);e23(25,104);e23(25,136);e23(25,176);e23(25,184);e23(25,224);e23(26,37);e23(26,43);e23(26,53);e23(26,107);e23(26,133);e23(26,187);e23(26,197);e23(26,203);e23(30,11);e23(30,59);e23(30,91);e23(30,101);e23(30,139);e23(30,149);e23(30,181);e23(30,229);e23(31,28);e23(31,52);e23(31,68);e23(31,92);e23(31,148);e23(31,172);e23(31,188);e23(31,212);e23(34,37);e23(34,43);e23(34,53);e23(34,107);e23(34,133);e23(34,187);e23(34,197);e23(34,203);e23(39,8);e23(39,32);e23(39,88);e23(39,112);e23(39,128);e23(39,152);e23(39,208);e23(39,232);e23(41,8);e23(41,32);e23(41,88);e23(41,112);e23(41,128);e23(41,152);e23(41,208);e23(41,232);e23(46,37);e23(46,43);e23(46,53);e23(46,107);e23(46,133);e23(46,187);e23(46,197);e23(46,203);e23(49,28);e23(49,52);e23(49,68);e23(49,92);e23(49,148);e23(49,172);e23(49,188);e23(49,212);e23(50,11);e23(50,59);e23(50,91);e23(50,101);e23(50,139);e23(50,149);e23(50,181);e23(50,229);e23(54,37);e23(54,43);e23(54,53);e23(54,107);e23(54,133);e23(54,187);e23(54,197);e23(54,203);e23(55,16);e23(55,56);e23(55,64);e23(55,104);e23(55,136);e23(55,176);e23(55,184);e23(55,224);e23(65,4);e23(65,44);e23(65,76);e23(65,116);e23(65,124);e23(65,164);e23(65,196);e23(65,236);e23(66,37);e23(66,43);e23(66,53);e23(66,107);e23(66,133);e23(66,187);e23(66,197);e23(66,203);e23(70,11);e23(70,59);e23(70,91);e23(70,101);e23(70,139);e23(70,149);e23(70,181);e23(70,229);e23(71,8);e23(71,32);e23(71,88);e23(71,112);e23(71,128);e23(71,152);e23(71,208);e23(71,232);e23(74,37);e23(74,43);e23(74,53);e23(74,107);e23(74,133);e23(74,187);e23(74,197);e23(74,203);e23(79,28);e23(79,52);e23(79,68);e23(79,92);e23(79,148);e23(79,172);e23(79,188);e23(79,212);e33(4,17);e33(4,47);e33(4,97);e33(4,113);e33(4,127);e33(4,143);e33(4,193);e33(4,223);e33(9,2);e33(9,22);e33(9,38);e33(9,58);e33(9,62);e33(9,82);e33(9,98);e33(9,118);e33(9,122);e33(9,142);e33(9,158);e33(9,178);e33(9,182);e33(9,202);e33(9,218);e33(9,238);e33(16,7);e33(16,23);e33(16,73);e33(16,103);e33(16,137);e33(16,167);e33(16,217);e33(16,233);e33(20,1);e33(20,31);e33(20,49);e33(20,79);e33(20,161);e33(20,191);e33(20,209);e33(20,239);e33(24,7);e33(24,23);e33(24,73);e33(24,103);e33(24,137);e33(24,167);e33(24,217);e33(24,233);e33(25,14);e33(25,26);e33(25,34);e33(25,46);e33(25,74);e33(25,86);e33(25,94);e33(25,106);e33(25,134);e33(25,146);e33(25,154);e33(25,166);e33(25,194);e33(25,206);e33(25,214);e33(25,226);e33(36,17);e33(36,47);e33(36,97);e33(36,113);e33(36,127);e33(36,143);e33(36,193);e33(36,223);e33(39,2);e33(39,22);e33(39,38);e33(39,58);e33(39,62);e33(39,82);e33(39,98);e33(39,118);e33(39,122);e33(39,142);e33(39,158);e33(39,178);e33(39,182);e33(39,202);e33(39,218);e33(39,238);e33(40,41);e33(40,71);e33(40,89);e33(40,119);e33(40,121);e33(40,151);e33(40,169);e33(40,199);e33(41,2);e33(41,22);e33(41,38);e33(41,58);e33(41,62);e33(41,82);e33(41,98);e33(41,118);e33(41,122);e33(41,142);e33(41,158);e33(41,178);e33(41,182);e33(41,202);e33(41,218);e33(41,238);e33(44,17);e33(44,47);e33(44,97);e33(44,113);e33(44,127);e33(44,143);e33(44,193);e33(44,223);e33(55,14);e33(55,26);e33(55,34);e33(55,46);e33(55,74);e33(55,86);e33(55,94);e33(55,106);e33(55,134);e33(55,146);e33(55,154);e33(55,166);e33(55,194);e33(55,206);e33(55,214);e33(55,226);e33(56,7);e33(56,23);e33(56,73);e33(56,103);e33(56,137);e33(56,167);e33(56,217);e33(56,233);e33(60,1);e33(60,31);e33(60,49);e33(60,79);e33(60,161);e33(60,191);e33(60,209);e33(60,239);e33(64,7);e33(64,23);e33(64,73);e33(64,103);e33(64,137);e33(64,167);e33(64,217);e33(64,233);e33(71,2);e33(71,22);e33(71,38);e33(71,58);e33(71,62);e33(71,82);e33(71,98);e33(71,118);e33(71,122);e33(71,142);e33(71,158);e33(71,178);e33(71,182);e33(71,202);e33(71,218);e33(71,238);e33(76,17);e33(76,47);e33(76,97);e33(76,113);e33(76,127);e33(76,143);e33(76,193);e33(76,223);e33(80,41);e33(80,71);e33(80,89);e33(80,119);e33(80,121);e33(80,151);e33(80,169);e33(80,199);e43(5,16);e43(5,56);e43(5,64);e43(5,104);e43(5,136);e43(5,176);e43(5,184);e43(5,224);e43(6,17);e43(6,47);e43(6,97);e43(6,113);e43(6,127);e43(6,143);e43(6,193);e43(6,223);e43(10,1);e43(10,31);e43(10,49);e43(10,79);e43(10,161);e43(10,191);e43(10,209);e43(10,239);e43(11,8);e43(11,32);e43(11,88);e43(11,112);e43(11,128);e43(11,152);e43(11,208);e43(11,232);e43(14,17);e43(14,47);e43(14,97);e43(14,113);e43(14,127);e43(14,143);e43(14,193);e43(14,223);e43(19,28);e43(19,52);e43(19,68);e43(19,92);e43(19,148);e43(19,172);e43(19,188);e43(19,212);e43(21,8);e43(21,32);e43(21,88);e43(21,112);e43(21,128);e43(21,152);e43(21,208);e43(21,232);e43(26,17);e43(26,47);e43(26,97);e43(26,113);e43(26,127);e43(26,143);e43(26,193);e43(26,223);e43(29,28);e43(29,52);e43(29,68);e43(29,92);e43(29,148);e43(29,172);e43(29,188);e43(29,212);e43(30,1);e43(30,31);e43(30,49);e43(30,79);e43(30,161);e43(30,191);e43(30,209);e43(30,239);e43(34,17);e43(34,47);e43(34,97);e43(34,113);e43(34,127);e43(34,143);e43(34,193);e43(34,223);e43(35,4);e43(35,44);e43(35,76);e43(35,116);e43(35,124);e43(35,164);e43(35,196);e43(35,236);e43(45,4);e43(45,44);e43(45,76);e43(45,116);e43(45,124);e43(45,164);e43(45,196);e43(45,236);e43(46,17);e43(46,47);e43(46,97);e43(46,113);e43(46,127);e43(46,143);e43(46,193);e43(46,223);e43(50,1);e43(50,31);e43(50,49);e43(50,79);e43(50,161);e43(50,191);e43(50,209);e43(50,239);e43(51,28);e43(51,52);e43(51,68);e43(51,92);e43(51,148);e43(51,172);e43(51,188);e43(51,212);e43(54,17);e43(54,47);e43(54,97);e43(54,113);e43(54,127);e43(54,143);e43(54,193);e43(54,223);e43(59,8);e43(59,32);e43(59,88);e43(59,112);e43(59,128);e43(59,152);e43(59,208);e43(59,232);e43(61,28);e43(61,52);e43(61,68);e43(61,92);e43(61,148);e43(61,172);e43(61,188);e43(61,212);e43(66,17);e43(66,47);e43(66,97);e43(66,113);e43(66,127);e43(66,143);e43(66,193);e43(66,223);e43(69,8);e43(69,32);e43(69,88);e43(69,112);e43(69,128);e43(69,152);e43(69,208);e43(69,232);e43(70,1);e43(70,31);e43(70,49);e43(70,79);e43(70,161);e43(70,191);e43(70,209);e43(70,239);e43(74,17);e43(74,47);e43(74,97);e43(74,113);e43(74,127);e43(74,143);e43(74,193);e43(74,223);e43(75,16);e43(75,56);e43(75,64);e43(75,104);e43(75,136);e43(75,176);e43(75,184);e43(75,224);e53(4,13);e53(4,67);e53(4,77);e53(4,83);e53(4,157);e53(4,163);e53(4,173);e53(4,227);e53(5,14);e53(5,26);e53(5,34);e53(5,46);e53(5,74);e53(5,86);e53(5,94);e53(5,106);e53(5,134);e53(5,146);e53(5,154);e53(5,166);e53(5,194);e53(5,206);e53(5,214);e53(5,226);e53(11,2);e53(11,22);e53(11,38);e53(11,58);e53(11,62);e53(11,82);e53(11,98);e53(11,118);e53(11,122);e53(11,142);e53(11,158);e53(11,178);e53(11,182);e53(11,202);e53(11,218);e53(11,238);e53(16,37);e53(16,43);e53(16,53);e53(16,107);e53(16,133);e53(16,187);e53(16,197);e53(16,203);e53(20,19);e53(20,29);e53(20,61);e53(20,109);e53(20,131);e53(20,179);e53(20,211);e53(20,221);e53(21,2);e53(21,22);e53(21,38);e53(21,58);e53(21,62);e53(21,82);e53(21,98);e53(21,118);e53(21,122);e53(21,142);e53(21,158);e53(21,178);e53(21,182);e53(21,202);e53(21,218);e53(21,238);e53(24,37);e53(24,43);e53(24,53);e53(24,107);e53(24,133);e53(24,187);e53(24,197);e53(24,203);e53(36,13);e53(36,67);e53(36,77);e53(36,83);e53(36,157);e53(36,163);e53(36,173);e53(36,227);e53(40,11);e53(40,59);e53(40,91);e53(40,101);e53(40,139);e53(40,149);e53(40,181);e53(40,229);e53(44,13);e53(44,67);e53(44,77);e53(44,83);e53(44,157);e53(44,163);e53(44,173);e53(44,227);e53(56,37);e53(56,43);e53(56,53);e53(56,107);e53(56,133);e53(56,187);e53(56,197);e53(56,203);e53(59,2);e53(59,22);e53(59,38);e53(59,58);e53(59,62);e53(59,82);e53(59,98);e53(59,118);e53(59,122);e53(59,142);e53(59,158);e53(59,178);e53(59,182);e53(59,202);e53(59,218);e53(59,238);e53(60,19);e53(60,29);e53(60,61);e53(60,109);e53(60,131);e53(60,179);e53(60,211);e53(60,221);e53(64,37);e53(64,43);e53(64,53);e53(64,107);e53(64,133);e53(64,187);e53(64,197);e53(64,203);e53(69,2);e53(69,22);e53(69,38);e53(69,58);e53(69,62);e53(69,82);e53(69,98);e53(69,118);e53(69,122);e53(69,142);e53(69,158);e53(69,178);e53(69,182);e53(69,202);e53(69,218);e53(69,238);e53(75,14);e53(75,26);e53(75,34);e53(75,46);e53(75,74);e53(75,86);e53(75,94);e53(75,106);e53(75,134);e53(75,146);e53(75,154);e53(75,166);e53(75,194);e53(75,206);e53(75,214);e53(75,226);e53(76,13);e53(76,67);e53(76,77);e53(76,83);e53(76,157);e53(76,163);e53(76,173);e53(76,227);e53(80,11);e53(80,59);e53(80,91);e53(80,101);e53(80,139);e53(80,149);e53(80,181);e53(80,229);e63(1,8);e63(1,32);e63(1,88);e63(1,112);e63(1,128);e63(1,152);e63(1,208);e63(1,232);e63(6,13);e63(6,67);e63(6,77);e63(6,83);e63(6,157);e63(6,163);e63(6,173);e63(6,227);e63(9,28);e63(9,52);e63(9,68);e63(9,92);e63(9,148);e63(9,172);e63(9,188);e63(9,212);e63(10,19);e63(10,29);e63(10,61);e63(10,109);e63(10,131);e63(10,179);e63(10,211);e63(10,221);e63(14,13);e63(14,67);e63(14,77);e63(14,83);e63(14,157);e63(14,163);e63(14,173);e63(14,227);e63(15,16);e63(15,56);e63(15,64);e63(15,104);e63(15,136);e63(15,176);e63(15,184);e63(15,224);e63(25,4);e63(25,44);e63(25,76);e63(25,116);e63(25,124);e63(25,164);e63(25,196);e63(25,236);e63(26,13);e63(26,67);e63(26,77);e63(26,83);e63(26,157);e63(26,163);e63(26,173);e63(26,227);e63(30,19);e63(30,29);e63(30,61);e63(30,109);e63(30,131);e63(30,179);e63(30,211);e63(30,221);e63(31,8);e63(31,32);e63(31,88);e63(31,112);e63(31,128);e63(31,152);e63(31,208);e63(31,232);e63(34,13);e63(34,67);e63(34,77);e63(34,83);e63(34,157);e63(34,163);e63(34,173);e63(34,227);e63(39,28);e63(39,52);e63(39,68);e63(39,92);e63(39,148);e63(39,172);e63(39,188);e63(39,212);e63(41,28);e63(41,52);e63(41,68);e63(41,92);e63(41,148);e63(41,172);e63(41,188);e63(41,212);e63(46,13);e63(46,67);e63(46,77);e63(46,83);e63(46,157);e63(46,163);e63(46,173);e63(46,227);e63(49,8);e63(49,32);e63(49,88);e63(49,112);e63(49,128);e63(49,152);e63(49,208);e63(49,232);e63(50,19);e63(50,29);e63(50,61);e63(50,109);e63(50,131);e63(50,179);e63(50,211);e63(50,221);e63(54,13);e63(54,67);e63(54,77);e63(54,83);e63(54,157);e63(54,163);e63(54,173);e63(54,227);e63(55,4);e63(55,44);e63(55,76);e63(55,116);e63(55,124);e63(55,164);e63(55,196);e63(55,236);e63(65,16);e63(65,56);e63(65,64);e63(65,104);e63(65,136);e63(65,176);e63(65,184);e63(65,224);e63(66,13);e63(66,67);e63(66,77);e63(66,83);e63(66,157);e63(66,163);e63(66,173);e63(66,227);e63(70,19);e63(70,29);e63(70,61);e63(70,109);e63(70,131);e63(70,179);e63(70,211);e63(70,221);e63(71,28);e63(71,52);e63(71,68);e63(71,92);e63(71,148);e63(71,172);e63(71,188);e63(71,212);e63(74,13);e63(74,67);e63(74,77);e63(74,83);e63(74,157);e63(74,163);e63(74,173);e63(74,227);e63(79,8);e63(79,32);e63(79,88);e63(79,112);e63(79,128);e63(79,152);e63(79,208);e63(79,232);e73(1,2);e73(1,22);e73(1,38);e73(1,58);e73(1,62);e73(1,82);e73(1,98);e73(1,118);e73(1,122);e73(1,142);e73(1,158);e73(1,178);e73(1,182);e73(1,202);e73(1,218);e73(1,238);e73(4,7);e73(4,23);e73(4,73);e73(4,103);e73(4,137);e73(4,167);e73(4,217);e73(4,233);e73(15,14);e73(15,26);e73(15,34);e73(15,46);e73(15,74);e73(15,86);e73(15,94);e73(15,106);e73(15,134);e73(15,146);e73(15,154);e73(15,166);e73(15,194);e73(15,206);e73(15,214);e73(15,226);e73(16,17);e73(16,47);e73(16,97);e73(16,113);e73(16,127);e73(16,143);e73(16,193);e73(16,223);e73(20,41);e73(20,71);e73(20,89);e73(20,119);e73(20,121);e73(20,151);e73(20,169);e73(20,199);e73(24,17);e73(24,47);e73(24,97);e73(24,113);e73(24,127);e73(24,143);e73(24,193);e73(24,223);e73(31,2);e73(31,22);e73(31,38);e73(31,58);e73(31,62);e73(31,82);e73(31,98);e73(31,118);e73(31,122);e73(31,142);e73(31,158);e73(31,178);e73(31,182);e73(31,202);e73(31,218);e73(31,238);e73(36,7);e73(36,23);e73(36,73);e73(36,103);e73(36,137);e73(36,167);e73(36,217);e73(36,233);e73(40,1);e73(40,31);e73(40,49);e73(40,79);e73(40,161);e73(40,191);e73(40,209);e73(40,239);e73(44,7);e73(44,23);e73(44,73);e73(44,103);e73(44,137);e73(44,167);e73(44,217);e73(44,233);e73(49,2);e73(49,22);e73(49,38);e73(49,58);e73(49,62);e73(49,82);e73(49,98);e73(49,118);e73(49,122);e73(49,142);e73(49,158);e73(49,178);e73(49,182);e73(49,202);e73(49,218);e73(49,238);e73(56,17);e73(56,47);e73(56,97);e73(56,113);e73(56,127);e73(56,143);e73(56,193);e73(56,223);e73(60,41);e73(60,71);e73(60,89);e73(60,119);e73(60,121);e73(60,151);e73(60,169);e73(60,199);e73(64,17);e73(64,47);e73(64,97);e73(64,113);e73(64,127);e73(64,143);e73(64,193);e73(64,223);e73(65,14);e73(65,26);e73(65,34);e73(65,46);e73(65,74);e73(65,86);e73(65,94);e73(65,106);e73(65,134);e73(65,146);e73(65,154);e73(65,166);e73(65,194);e73(65,206);e73(65,214);e73(65,226);e73(76,7);e73(76,23);e73(76,73);e73(76,103);e73(76,137);e73(76,167);e73(76,217);e73(76,233);e73(79,2);e73(79,22);e73(79,38);e73(79,58);e73(79,62);e73(79,82);e73(79,98);e73(79,118);e73(79,122);e73(79,142);e73(79,158);e73(79,178);e73(79,182);e73(79,202);e73(79,218);e73(79,238);e73(80,1);e73(80,31);e73(80,49);e73(80,79);e73(80,161);e73(80,191);e73(80,209);e73(80,239);break;
		        default  : printf( "There is an error in this program. Please report it" );exit(1);
		     }
       //ENDOFBITFLIPPING

		//TODO:sieve out multiples of squares of primes

		//TODO: write function using Atkin and Bernstein 2003 as a resource
		//TODO: optimize bit array access
	}

	/*
	 * The partial sieve function, which counts numbers <= x with no prime factors smaller than or equal to the a-th prime
	 *
	 * INPUT:
	 *
	 *  - ``x`` the number up to which we want to count numbers with no prime factors smaller than or equal to the a-th prime
	 *
	 * OUTPUT:
	 *
	 *  integer -- the number of numbers <= x with no prime factors smaller than or equal to the a-th prime
	 *
	 * EXAMPLES:
	 *
	 *  TODO: add examples
	 *
	 * NOTES:
	 *
	 *  phi depends on the side-effects of phi2- it uses a and prime_pi_square_root_x
	 *
	 * AUTHORS:
	 *
	 *  Kevin Stueve (2009-08-16)
	 */
	unsigned long int phi(unsigned long int x) {
		return 0; //To make the compiler happy
	}
